分享

原创:docker基本操作3

本帖最后由 hochikong 于 2014-8-11 17:23 编辑
问题导读:
1.如何删除docker镜像?
2.如何保存新的镜像?
3.如何为镜像添加tag?



1.列出所有镜像:docker images
图像 2.png

tips:有时你可能会见到类似于“ubuntu:14.04“,“ubuntu:12.04“这样的名字,实际上,“:“后的就是tag,图中的tag为“latest“。
也可以这样运行:
图像 3.png



2.在dockerhub上搜索镜像:docker search IMAGE_NAME
图像 4.png


图像 5.png

可以看到大量结果


3.commit(相当于更新)一个镜像:docker commit -m="MESSAGE" -a="AUTHER_NAME" SOURCE_IMAGE_ID USER/REPOSITORY:TAG

先运行容器(请记住此时root后面那组id):
图像 6.png

我安装了erlang:
图像 7.png

最后commit了它(记得先退出):
图像 9.png

实际上,commit差不多可以看做把容器固化成image。

看看现在我有的镜像:
图像 10.png

运行一下:
图像 11.png


4.从Dockerfile创建镜像:docker build -t=”SOURCE_IMAGE_ID USER/REPOSITORY:TAG” .(注意最后的".")

tips:不知是rp问题还是bug,我在14.04上按照官方手册安装的docker build的镜像即使指定了tag,但在docker images的结果中却没有任何信息,只有ID,需要tag一下(后面会讲到)。

先创建一个文件夹,cd进去,创建一个叫“Dockerfile”的文件:
图像 13.png

我的文件如图所示:
图像 14.png

“#”开头的为注释,指令比如RUN之类的必须大写,FROM指源镜像(我从一个源镜像创建),执行安装ntp的操作,注:如果不明白-qq是什么意思,请查阅apt相关的资料(意思是除了错误,什么都不输出)

build一下:请注意后面那个”.”,如果Dockerfile在本目录中的话,可以用一点代替路径,但你也可以配置路径。
图像 18.png

问题出现了:
图像 20.png

居然出现了none?bug么?
我们需要tag一下,为它添加信息:docker tag IMAGE_ID SOURCE_IMAGE_ID USER/REPOSITORY:TAG
图像 20(1).png

再次看看我的image列表:
图像 20.png
正常了。


5.删除容器和镜像:docker rm CONTAINER_NAME /docker rmi IMAGE_NAME

因为有好几个没有信息的镜像,我想把它删除了:
图像 23.png

他却提示有容器在使用它,记住容器id,删除了容器后再删除镜像即可。


6.补充:
列出所有运行中的容器:docker ps -a
列出容器的最新状况:docker ps -l(只显示一个容器的结果)








欢迎加入about云群9037177932227315139327136 ,云计算爱好者群,亦可关注about云腾讯认证空间||关注本站微信

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条