У меня есть следующий 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
для ссылки на изображения.
Есть ли способ лучше?
Я бы не использовал 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 скоро будет устаревшей, поэтому ребята из докеров рекомендуют создать свою собственную сеть для создания вашего сервиса. https://docs.docker.com/compose/networking/