Docker镜像管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker镜像管理相关的知识,希望对你有一定的参考价值。

Docker镜像管理

docker pull  centos   //从docker.com获取centos镜像
docker images  //查看本地都有哪些镜像
docker tag centos aming123  //为centos镜像设置标签为aming123,再使用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 "Aming" 2c74d574293f aming/centos

这个命令有点像svn的提交,-m 加一些改动信息,-a 指定作者相关信息  2c74d这一串为容器id,再后面为新镜像的名字

创建镜像:基于本地模板导入
模块获取,可以直接在网上下载一个模块  http://openvz.org/Download/templates/precreated 可惜速度并不快,家人我们下载了一个centos的模板 centos-5-x86.tar.gz 那么导入该镜像的命令为:
cat centos-5-x86.tar.gz |docker import - centos-5-x86

把现有镜像,导出为一个文件:
docker save -o aming-centos.tar aming/centos


我们还可以用该文件恢复本地镜像:
docker load --input aming-centos.tar  或者
docker load < aming-centos.tar

docker push image_name  //可以把自己的镜像传到dockerhub官方网站上去,但前提是需要先注册一个用户,后续如果有需求再研究吧

本文出自 “梅花香自苦寒来!” 博客,请务必保留此出处http://daixuan.blog.51cto.com/5426657/1752342

以上是关于Docker镜像管理的主要内容,如果未能解决你的问题,请参考以下文章

docker镜像管理基础

docker镜像管理基础

Docker------Docker基本管理(镜像,容器,网络,资源控制)

Docker------Docker基本管理

Docker 镜像-管理-导入-导出

docker系列详解docker镜像管理命令