我正在使用Docker進行部署,因此我使用Docker-Compose(.yml文件)同時啓動〜6個容器。撰寫文件中的每個圖像都在本地找到(部署環境中沒有互聯網連接)。Docker可以自動重新啓動容器並使用新的圖像標籤提交更改?
因爲它的立場是我的部署採取如下步驟:最新,圖像2:最新的,使用等與圖像從本地圖像,例如圖像1
- 潤泊塢窗,構成了(發射6個容器「最新」標籤)
- 退出/停止時,我有6個停止的容器。手動重啓六個已停止的容器中的每一個(docker start xxx)
- 手動提交每個重新啓動的容器(docker commit xxx)
- 手動重新標記每個上一代圖像(image1:latest - > image1:版本1,圖像1:版本2等)並手動刪除包含「最新」標籤的圖像
- 用「最新」標籤(圖像1:最新)手動標記每個提交容器(圖像爲最新)
這個過程是相當用戶參與的,我們的部署需要用戶參與才能運行「docker-compose up」命令,然後關閉d擁有/停止Docker-Compose。
所需的最終目標是讓腳本或Docker自行完成這些步驟,並最終生成不同代的圖像(image1:version1,image1:version2,image1:latest等)。
所以,我的問題是,我怎麼會去創建一個腳本(或有碼頭工人做)在腳本(或碼頭)可以自主:
- 重新啓動停止容器在停止/退出的泊塢窗,撰寫
- 提交的重新啓動容器
- 重新標記以前的圖片與最新的標籤遞增版本#(圖像1:VERSION1,圖像1:版本2等),然後刪除以前的圖像1:最新的圖像
- 標記新提交的重新啓動的容器(例如, h現在是圖像)與「最新」標籤
這是一個相當長和密集的問題要回答,但我將不勝感激任何幫助完成我的任務所需的任何步驟。謝謝。
你的第4步和第5步有點混亂。在我閱讀的時候,你會標記最新版本 - >增量版本,刪除最新標籤,然後將增量版本重新標記爲最新版本。爲什麼這樣? – Tommy
在初次/第一次運行時,您有全部6張圖片(需要docker-compose才能啓動6個容器),並組合使用「latest」標籤抓取圖像。然後我們需要保存新一代的圖像,並給他們「最新」的標籤。上一代(最初的人羣)也不能擁有「最新」標籤,因此我必須用版本號重新標記它。 我們的目標是隨着時間的推移挽救新一代圖像,並讓最新一代包含「最新」圖像,以便在下次運行時抓住它們。 – OriolesMagic