У нас есть файл docker-compose с таким сервисом, как
services:
utils-microservice:
container_name: utils-microservice
image: <Masked>.dkr.ecr.ap-south-1.amazonaws.com/utils-microservice:<Some Tag>
ports:
- '1024:1024'
env_file:
- './envs/utils-microservice.env'
Теперь, что мы хотим сделать?
После того, как CI отправит новый TAG в ECR, мы можем запустить сценарий оболочки, чтобы добиться следующего:
1 Остановите контейнер
2 Замените utils-microservice:<Some Tag> на utils-microservice:<Some New Tag>
3 Перезапустите службу с новым тегом!
Это достижимо? мы не хотим усложнять использование docker swarm или k8!
В вашей оболочке можно использовать переменные среды для заполнения значений внутри файла Compose:
веб: изображение: "веб-приложение:${TAG}"