在容器裡安裝新軟體後,必須commit後,再run來添加端口麼,這要麻煩死了啊:(
认证0级讲师
如果run時用 -p 映射埠還是麻煩的話,可以寫在Dockerfile
-p
可以把run指令寫成shell文件,以後直接執行這個文件就是了。不需要每次寫。
可能你的用法不是非常正確
一個容器一般來說應該只運行一個服務的, 在這樣的場合下, 往一個容器裡面安裝新軟體再commit就顯得很奇怪
你可以創建一個基礎鏡像, 其它的都在這個基礎鏡像上build出來
然後, docker-compose和dockerfile本質上就是可以讓你方便管理容器和鏡像的(多同一個dockerfile的多次build是會被緩存成為鏡像的), 所以你可以在你的基礎鏡像上多寫幾個dockerfile, 每個dockerfile只裝一個你需要使用的服務
截圖是我的docker-compose.yml, 運行起來就是非常明確的一個服務一個container
如果run時用
-p
映射埠還是麻煩的話,可以寫在Dockerfile可以把run指令寫成shell文件,以後直接執行這個文件就是了。不需要每次寫。
可能你的用法不是非常正確
一個容器一般來說應該只運行一個服務的, 在這樣的場合下, 往一個容器裡面安裝新軟體再commit就顯得很奇怪
你可以創建一個基礎鏡像, 其它的都在這個基礎鏡像上build出來
然後, docker-compose和dockerfile本質上就是可以讓你方便管理容器和鏡像的(多同一個dockerfile的多次build是會被緩存成為鏡像的), 所以你可以在你的基礎鏡像上多寫幾個dockerfile, 每個dockerfile只裝一個你需要使用的服務
截圖是我的docker-compose.yml, 運行起來就是非常明確的一個服務一個container