我的碼頭圖像建立在Jenkins CI服務器上,並被推送到我們的私人碼頭註冊表。我的目標是配置docker-compose環境,它始終啓動圖像的原始狀態。如何讓docker-compose始終從新鮮圖像重新創建容器?
我目前在不同的機器上使用docker-compose 1.3.2和1.4.0,但我們以前也使用過舊版本。
我總是使用docker-compose pull && docker-compose up -d
命令從註冊表中獲取新圖像並啓動它們。我相信我的首選行爲在某個特定時間點按預期工作,但自此docker-compose up
開始重新運行先前停止的容器,而不是每次啓動原始構建的圖像。
有沒有辦法擺脫這種行爲?那麼可以通過docker-compose.yml配置文件連接到每次調用時不依賴於「不會忘記」命令行上的內容?
ps。除了找到實現我的目標的方法之外,我還想更多地瞭解這種行爲的背景。我認爲Docker的基本思想是構建一個不可變的基礎架構。目前Docker-compose的行爲似乎與這種方法發生了明顯的衝突......或者我在這裏錯過了一些觀點?
是的,其實這也是我在CI中所做的。不知道爲什麼我沒有提到... –
@dnephin'碼頭合成運行-d'不存在?你想說'docker-compose up -d'no? –
如果您在'''docker-compose rm -f'''之前運行'''docker-compose pull''',您可以節省更多時間 – stephanlindauer