我有一个使用多个泊坞容器的应用程序:
由于我使用上述两个容器的现有图像,我还有两个缓存容器:
我试图将我的容器(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个容器推送到注册表中。 我如何只推送我关心的容器而不是缓存容器?
提前致谢: - )
答案 0 :(得分:1)
我如何只推送我关心的容器而不是缓存容器?
你没有。
Docker镜像(不是容器;一个容器就是你在引导图像时得到的)是从图层构建的。例如,您的nginx
图片包含alpine
图片中的所有图层,后跟由Dockerfile
创建的所有图层。
为了将新图像存储在私有存储库中,所有底层图层都需要。这意味着除了您通过Dockerfile
创建的图层外,还需要将alpine
图像中的所有图层也推送到存储库。
因此,如果您在alpine
图像上构建图像并将其推送到私有存储库,那么alpine
图像也会被推送到那里。