簡體   English   中英

在基於Docker的映像更新后,Docker不會在compose中更新服務的容器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM