docker安装配置
系统版本(centos 6.5 x64)
注意:centos系统版本需要是centos 6 以上,并且系统需要是64位才能安装docker,如果是不是64位系统安装的时候会提示找不到docker-io
简介:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。
个人理解:就是把需要的程序放进容器中,变于管理、备份、恢复。如放在分布式存储hadoop上便可以实现云计算。
纯属个人理解
一.安装EPEL
安装docker的yum池,如果是centos6就使用下面地址
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
二.安装Docker
yum -y install docker-io service docker start chkconfig docker on
三.Docker简单操作
1.获取Centos镜像
docker pull centos:latest //下载centos最后版本的镜像 docker pull centos:centos6 //下载centos6镜像
2.查看镜像运行情况
docker images centos //查看单独centos镜像 docker images //查看所有下载的镜像
3.在容器下运行 shell bash
docker run -i -t <IMAGE ID> /bin/bash //<IMAGE ID>来自docker images命令获取
4.启动容器
docker start <CONTAINER ID> //<CONTAINER ID>来自docker ps -a命令获取
5.停止容器
docker stop <CONTAINER ID> //<CONTAINER ID>来自docker ps -a命令获取
6.查看容器日志
docker logs -f <CONTAINER ID>
7.删除所有容器
docker rm $(docker ps -a -q)
8.删除镜像
docker rmi <IMAGE ID > //<IMAGE ID>来自docker images命令获取
四.Docker应用操作
1.提交容器更改到镜像仓库中,并运行容器中的 hello.sh
docker images //查看镜像
docker run -i -t 70441cac1ed5 /bin/bash //进入容器
docker commit <CONTAINER ID> testuser/centos //将已变更的映像保存为testuser/centos镜像名
<CONTAINER ID> //为刚刚打开的容器ID,此处为红色圈.
docker run -i -t testuser/centos /bin/sh /home/testuser/hello.sh //如果执行看到hello docker!!!,表示测试docker成功。
2.创建带有nginx服务的镜像并测试
docker run -i -t <IMAGE ID> /bin/bash //<IMAGE ID>来自docker images命令获取
exit
docker commit <CONTAINER ID> nginx/centos //将已变更的映像保存为nginx/centos镜像名
docker run -i -t nginx/centos /bin/bash
<安装nginx软件包,具体方法请百度> //跟平时安装环境是一样的
//在nginx.conf配置文件头部添加:daemon off;
exit
docker commit <CONTAINER ID> nginx/centos //将已变更的映像保存为nginx/centos镜像名
启动Docker中的Nginx
docker run -d -p 80:80 nginx/centos /usr/local/m1905/nginx/sbin/nginx //第1个80端口为实体机映射的端口,第2个80端口为docker容器里nginx服务的端口.
五.导入导出镜像
1.导出镜像
docker save -o nginx.tar nginx/centos //nginx.tar表示镜像备份的名字,nginx/centos表示要导出镜像的名字。
2.导入到新虚拟机环境
docker load --input nginx.tar //nginx.tar表示镜像备份的名字
docker images //查看镜像是否导入成功
本文档有参考朋友博客:http://azhuang.blog.51cto.com/9176790/1573927
如有疑问请联系QQ:403182580