2024년 8월 13일 화요일

docker-compose : 특정 서비스 최신 이미지 강제로 Pull 한 후 다시 시작

docker-compose 명령을 사용하여 특정 서비스의 최신 이미지를 강제로 pull 한 후 재실행하려면 docker-compose pull 명령과 docker-compose up 명령을 결합하여 사용할 수 있다.

단계별 설명

  1. ECR 로그인

    aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com
    
  2. 이미지 Pull

    docker-compose pull 명령을 사용하여 최신 이미지를 pull 한다. 특정 서비스만 pull 할 수 있다:

    docker-compose pull app
    
  3. 서비스 재실행

    docker-compose up 명령을 사용하여 특정 서비스를 재실행:

    docker-compose up -d app
    

두 명령을 한 번에 실행:

docker-compose pull app && docker-compose up -d app

자동화를 위한 스크립트

위의 명령을 쉘 스크립트로 만들어 사용하면 더 편리하게 사용할 수 있다.

#!/bin/bash

# ECR 로그인
aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com

# 최신 이미지 pull
docker-compose pull app

# 서비스 재실행
docker-compose up -d app

관련 사이트 및 블로그