#docker#基本使用3(commit等)

本文出现的问题的解决方法已在:http://my.oschina.net/hochikong/blog/306361

################################################################################################


1.列出所有镜像:docker images
#docker#基本使用3(commit等)_第1张图片 

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



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


#docker#基本使用3(commit等)_第2张图片 

可以看到大量结果


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

先运行容器(请记住此时root后面那组id):
#docker#基本使用3(commit等)_第3张图片 

我安装了erlang:
 

最后commit了它(记得先退出):
#docker#基本使用3(commit等)_第4张图片 

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

看看现在我有的镜像:
#docker#基本使用3(commit等)_第5张图片 

运行一下:
 


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”的文件:
 

我的文件如图所示:
 

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

build一下:请注意后面那个”.”,如果Dockerfile在本目录中的话,可以用一点代替路径,但你也可以配置路径。
#docker#基本使用3(commit等)_第6张图片 

问题出现了:
#docker#基本使用3(commit等)_第7张图片 

居然出现了none?bug么?
我们需要tag一下,为它添加信息:docker tag IMAGE_ID CONTIANER_ID USER/REPOSITORY:TAG
 

再次看看我的image列表:
#docker#基本使用3(commit等)_第8张图片 
正常了。


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

因为有好几个没有信息的镜像,我想把它删除了:
#docker#基本使用3(commit等)_第9张图片 

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


6.补充:
列出所有运行中的容器:docker ps -a

列出容器的最新状况:docker ps -l(只显示一个容器的结果)






你可能感兴趣的:(镜像,docker)