我有一个应用程序,它使用几个码头容器:
由于我对上面的两个容器使用了现有的映像,所以我还有两个缓存的容器:
我正在尝试将我的容器(1,2,& 3)推送到AWS弹性容器注册表(ECR)。我已经能够做到这一点,但注意到我的缓存容器(4 & 5)也被推送。
我正在使用docker-compose构建容器,然后标记如下:
docker tag -f nodejs_app:latest <repository URL>:latest
在使用docker login登录到ECR之后,我使用以下命令推送:
docker push <repository URL>:latest
码头工人然后将所有5个集装箱推到注册中心。如何只推送我关心的容器,而不是缓存的容器?
预先多谢:-)
发布于 2016-03-30 11:56:43
我怎样才能把我关心的容器推入,而不是缓存的容器呢?
你没有。
Docker映像(不是容器;容器是启动映像时得到的)是由层构建的。例如,您的nginx映像由来自alpine映像的所有层组成,后面是作为Dockerfile结果创建的任何层。
为了将新映像存储在私有存储库中,所有底层都需要可用。这意味着,除了通过Dockerfile创建的层之外,alpine映像中的所有层也需要推送到存储库中。
因此,如果您在alpine映像的基础上构建一个映像并将其推送到私有存储库,那么alpine映像也会被推到那里。
https://stackoverflow.com/questions/36307944
复制相似问题