想通過 docker 的 /bin/bash 修改容器內容,commit 新的 image 。
未成功的操作流程如下:
docker run -t -i docker-wordpress-nginx /bin/bash
進入容器bash
vi /etc/nginx/sites-available/default
修改了 nginx 的 conf 文件
exit
退出容器,然後運行
docker ps
什麼都沒有。運行
docker images
還是原來那些 images。
請問如何保存在 docker 中 bash 所做的修改,如何 commit?
PS1:如何 commit 給新的 image 自動打上 tag latest,並且之前的 latest 作廢(替代)?
PS2:假如通過修改和 commit 得到三個版本 tag v1, v2, v3,能否刪除 v1, v2 保留 v3?即單獨的 images 之間有關聯(堆疊)關係嗎?
迷茫2017-04-21 11:21:10
docker commit --help
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
A1. commit如果不加tag就預設是latest,如果在latest image上修改後再commit不加tag就會替代原來的latest, 一般都是commit之前先tag一下原來的latest image
A2. v1,v2,v3這些都是你自己添加的tag, docker rmi username/repo:v1
就可以刪除v1這個tag,不影響其他tag
同時如果v1,v2,v3三個tag是打在同一個image id上,刪除了v1 tag也不會刪除對應的image
黄舟2017-04-21 11:21:10
docker ps -l
查看『剛』運行過的容器!
接著就得到了剛剛執行過的指令的 container_id
docker commit 22bb071e070b docker-wordpress-nginx
預設的 tag 就是 latest
以上答案有誤,會遇到問題!仍在嘗試中,求大神解答,求 Best Practices!
ringa_lee2017-04-21 11:21:10
組合鍵:Ctrl+P+Q
回車即可跳出docker容器且不關閉,暫時看到是這樣的解決方案。
http://blog.csdn.net/yangzhen...