[英]Docker pushing containers to private registry
我有一個使用多個Docker容器的應用程序:
由於我將現有圖像用於上述兩個容器,因此我也有兩個緩存的容器:
我正在嘗試將我的容器(1、2和3)推送到AWS Elastic Container Registry(ECR)。 我已經能夠做到這一點,但是注意到我的緩存容器(4和5)也被推送了。
我正在使用docker-compose
構建容器,然后像這樣標記:
docker tag -f nodejs_app:latest <repository URL>:latest
使用docker login
登錄到ECR之后,我使用以下命令進行推送:
docker push <repository URL>:latest
然后,Docker將所有5個容器推入注冊表。 如何只推送我關心的容器,而不推送緩存的容器?
提前致謝 :-)
如何只推送我關心的容器,而不推送緩存的容器?
你不知道
Docker映像(不是容器 ;容器是引導映像時獲得的容器)是從層構建的。 例如,您的nginx
映像包括alpine
映像中的所有層,然后是Dockerfile
的結果所創建的任何層。
為了將新映像存儲在私有存儲庫中, 所有基礎層都必須可用 。 這意味着,除了通過Dockerfile
創建的圖層外, alpine
映像中的所有圖層也都需要推送到存儲庫中。
因此,如果您在alpine
圖像上構建圖像並將其推送到私有存儲庫,那么alpine
圖像也將被推送到那里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.