繁体   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