先使用image启动容器,更新后提交结果到新的image。docker
$ sudo docker run -t -i training/sinatra /bin/bashjson
root@0b2616b0e5a8:/#bash
注意:记住容器的ID ,稍后咱们还会用到工具
这里咱们在容器中添加json gemspa
root@0b2616b0e5a8:/# gem install json3d
当结束后,咱们使用exit来退出,如今咱们的容器已经被咱们改变了,使用docker commint命令版本控制
来提交相应的副本。orm
$ sudo docker commit -m="Added json gem" -a="Kate Smith" 0b2616b0e5a8 ouruser/sinatra:v2it
4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1ctest
-m 来指定提交的信息,跟咱们使用的版本控制工具同样。
-a 能够指定咱们更新的用户信息指定咱们要从哪一个容器ID来建立咱们的副本,最后指定目标image
的名字。
这个例子里面,咱们指定了一个新用户,ouruser,使用了sinatra的image,最后指定了image的
标记v2。
使用docker images来查看咱们建立的新image。
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
training/sinatra latest 5bc342fa0b91 10 hours ago 446.7 MB
ouruser/sinatra v2 3c59e02ddd1a 10 hours ago 446.7 MB
ouruser/sinatra latest 5db5f8471261 10 hours ago 446.7 MB
使用新的image来启动容器
$ sudo docker run -t -i ouruser/sinatra:v2 /bin/bash
root@78e82f680994:/#