[英]Docker isn't updating the container of a service in compose after image it's based on was updated
我有一個基本映像,其中包含一些我很少更新的應用程序內容。 然后我有一個使用該基本映像(在Dockerfile中帶有FROM
)的映像,該映像更經常更新。 最后,我在生產服務器上使用了docker-compose,該服務器通過使用應用程序圖片網址(指向自托管注冊表的網址)組成了多種服務。 這些服務具有不同的環境變量和命令。
當我需要在生產環境中更新服務時,我僅構建應用程序映像(而不是基本映像)。 之后,我將新映像推送到注冊表並對其進行兩次標記,一次使用時間戳,一次使用“最新”。
然后我進入生產服務器,並docker-compose pull
映像,最后我docker-compose up -d
。
我的期望是服務的映像已更新,但是當我在服務中exec -it <id> bash
,我看不到文件應有的更新。
不過,肯定會拉出新映像,因為當我在映像中run -it <id> bash
,會看到更新的文件。
使用docker-compose up --build -d
啟動堆棧,否則,如果projectname_service
映像已經存在,它將直接運行它,而不重建其需要的層。 如果基礎映像已更新,則應具有一個新標記,您應該在頂部更新FROM
語句以觸發映像的完全重建
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.