核心概念 1. 镜像 是一个只读的模板类似于安装系统用到的那个iso文件我们通过镜像来完成各种应用的部署。 2. docker容器 镜像类似于操作系统而容器类似于虚拟机本身。它可以被启动、开始、停止、删除等操作每个容器都是相互隔离的。 3. docker仓库 一、安装 centos6 上安装(6.5之前版本需要升级一下 yum update ) yum install -y epel-release yum install -y docker-io 如果是centos7 yum install -y docker 启动docker /etc/init.d/docker start 二、镜像管理 docker pull centos //从docker.com获取centos镜像如果太慢直接做个加速 然后vi /etc/sysconfig/docker 最下面增加一行: other_args="--registry-mirror=https://u6vpvkfn.mirror.aliyuncs.com" centos7是:OPTIONS="--registry-mirror=https://u6vpvkfn.mirror.aliyuncs.com"
docker images //查看本地都有哪些镜像 docker tag centos syk123 //为centos镜像设置标签为syk123再使用docker images查看会多出来一行改行的image id和centos的一样 docker search (image-name) //从docker仓库搜索docker镜像后面是关键词 docker run -t -i centos /bin/bash //用下载到的镜像开启容器-i表示让容器的标准输入打开-t表示分配一个伪终端要把-i -t 放到镜像名字前面 当该镜像发生修改后我们可以把该镜像提交重新生成一个新版本进行在本地。 docker ps //查看运行的容器 docker rmi centos //用来删除指定镜像 其中后面的参数可以是tag如果是tag时实际上是删除该tag只要该镜像还有其他tag就不会删除该镜像。当后面的参数为镜像ID时则会彻底删除整个镜像连通所有标签一同删除 docker ps -a //查看所有容器包括已经退出的。
三、创建镜像基于已有镜像的容器创建 运行docker run后进入到该容器中我们做一些变更比如安装一些东西然后针对这个容器进行创建新的镜像 docker commit -m "change somth" -a "somebody info" image_id //通过docker images获取id 新镜像名字 例如 docker commit -m "install httpd" -a "syk" 2c74d574293f centos_net-tools 这个命令有点像svn的提交-m 加一些改动信息-a 指定作者相关信息 2c74d这一串为容器id再后面为新镜像的名字
四、创建镜像基于本地模板导入 cat centos-6-x86.tar.gz |docker import - centos-6-x86 把现有镜像导出为一个文件 docker save -o syk-centos.tar centos-6-x86 我们还可以用该文件恢复本地镜像 docker load --input aming-centos.tar 或者 docker load < aming-centos.tar docker push image_name //可以把自己的镜像传到dockerhub官方网站
|