簡體   English   中英

Docker將容器推送到私有注冊表

[英]Docker pushing containers to private registry

我有一個使用多個Docker容器的應用程序:

  1. NGINX容器
  2. NodeJS航行應用程序容器
  3. Redis緩存容器

由於我將現有圖像用於上述兩個容器,因此我也有兩個緩存的容器:

  1. 高山的
  2. Redis

我正在嘗試將我的容器(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.

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