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