镜像
查看本地镜像 image
docker image
这只是会输出image下的指令列表,会有部分解释。
如要查看本地所有镜像,则
docker image ls
运行镜像 run
docker run abcd
abcd是镜像名称。
可以运行镜像,一闪而过,是因为它所执行的镜像没有命令可以执行(大概这样理解吧)。
所以如果需要调试,可以试试:
docker run -it abcd
是以调试模式运行镜像。
提交镜像 push
如
docker push xxx/mycentos
其中"xxx"是账号名,“/”后是镜像标签名,故需要将自己的镜像标签化。在push后会进行上传,会在已登录账号的docker hub中,生成一个以此处输入的镜像名为名的库。
标记镜像 tag
tag 用于标记本地镜像,使之拥有一个tag。
如
docker tag q19a xxx/mycentos
"q19a"是镜像ID的前4位(就够了,当然也可以输完),"xxx"是用户名,“/”后是命名的镜像标签名。
如你所见,之前我所用的镜像是没有tag的,即“”,tag之后就有了。
移除镜像 rmi
移除之前需要移除该镜像的子镜像(大概是运行时exit后留下的(ps并不会显示,需要ps -a),目前还不知道怎么随手清。所以只能挨个rmi),否则就会出现下图的错误。
docker rmi abcd
abcd是镜像ID(前4位)
当然,没人喜欢讲道理!加入-f 强制删除!
docker rmi -f abcd
容器
容器打包 commit
commit可以打包正在运行的镜像,虽然我此处的例子是已经暂停了的。暂停容器可以参考下文(commmit也提供暂停参数)。
docker commit abcd mycentos
abcd是容器ID前四,mycentos是打包后的库名。(打包需要一些时间,在commit后有个10多秒没反应,甚至以为卡死了疯狂摁ctrl+c,好在结果还是打包成功了,大小有4G)
依据菜鸟教程的说法,commit也提供暂停:
语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
所以按照它的说法,若容器未暂停,需要完成上述功能的话,则大概需要这样commit:
docker commit -p abcd mycentos
当然,commit还有其他附加的参数,后期用到了再补充。