如何在 AWS ECR 中连接多个镜像

如何在 AWS ECR 中连接多个镜像

我有以下docker-compose.yml:

version: '3'
services:
    server:
        build:
            context: ../../
            dockerfile: ./packages/website/Dockerfile
        command: yarn serve
        environment:
            PORT: 3000
            NODE_ENV: production
        restart: always
    nginx:
        build:
            context: ./
            dockerfile: ./nginx/Dockerfile
        command: nginx -c /etc/nginx/nginx.conf -g "daemon off;"
        depends_on:
            - server
        ports:
            - "80:80"
        restart: always

对于我来说,将其设置到 Amazon ECR 中的最佳方法是什么?

我的想法是将从上述 docker-compose.yml 文件构建的图像推送到 AWS 存储库,然后创建一个使用图像设置的新 docker-compose.yml,例如image: ecr-image-url引用图像。

有没有更好的办法?

答案1

我不会使用 docker compose 进行构建,我会推送构建好的镜像,然后如果需要的话再用 docker-compose 链接将它们链接起来https://docs.docker.com/compose/compose-file/#links

对于构建,您可以使用 Jenkins(或其他 CI 工具)。可以在 Jenkins 上使用以下插件https://wiki.jenkins.io/display/JENKINS/CloudBees+Docker+Build+and+Publish+plugin

不过 link 命令很快就会被弃用,所以 docker 开发人员建议你创建自己的网络来组成你的服务https://docs.docker.com/compose/networking/

相关内容