navis

AWS EC2에서 Docker 컨테이너 자동 배포 스크립트 작성 및 실행하기 본문

AWS

AWS EC2에서 Docker 컨테이너 자동 배포 스크립트 작성 및 실행하기

menstua 2024. 10. 30. 16:16
728x90

 

AWS EC2 인스턴스에서 Docker 컨테이너를 자동으로 배포하고 네트워크에 연결하는 과정을 스크립트를 통해 쉽게 관리할 수 있습니다. 이 글에서는 Docker 이미지 최신 버전을 EC2 인스턴스에 가져오고, 기존 컨테이너를 제거한 후 새로운 컨테이너를 실행하는 배포 스크립트를 작성하는 방법을 단계별로 설명합니다.

 


목차

  1. 배포 스크립트 파일 작성하기
    • 1.1 deploy_portfolio.sh 파일 생성 및 편집
    • 1.2 스크립트 내용 추가
    • 1.3 파일 저장 및 종료
  2. 스크립트에 실행 권한 부여하기
  3. 배포 스크립트 실행하기
  4. 스크립트 실행 결과 확인하기
    • 4.1 실행된 컨테이너 확인 (docker ps 명령어 사용)

1. 배포 스크립트 파일 작성하기

EC2 인스턴스에 접속한 후, deploy_portfolio.sh라는 이름의 배포 스크립트 파일을 생성하고 내용을 작성해 보겠습니다.

1) deploy_portfolio.sh 파일 생성 및 편집

아래 명령어를 통해 스크립트 파일을 생성하고 편집기로 엽니다.

 

nano deploy_portfolio.sh

 

2) 스크립트 내용 추가

파일이 열리면 아래 스크립트 코드를 붙여 넣습니다. 이 코드는 Docker 이미지를 최신 버전으로 가져오고, 기존 컨테이너가 있으면 제거한 뒤, 새로운 컨테이너를 실행하고 네트워크에 연결합니다.

 

#!/bin/bash

# 이미지 최신 버전 가져오기
docker pull junuyang/portfolio:latest

# 기존 컨테이너 삭제 (실행 중인 컨테이너가 있을 경우에만)
docker rm -f portfolio

# 새로운 컨테이너 실행
docker run -d -p 8001:8001 --name portfolio junuyang/portfolio:latest

# 네트워크 연결
docker network connect my_network portfolio

echo "Portfolio application has been deployed successfully."

 

3) 파일 저장 및 종료

파일 작성이 끝나면, **Ctrl + X**를 누르고 **Y**를 입력한 후 Enter 키를 눌러 파일을 저장하고 편집기를 종료합니다.


2. 스크립트에 실행 권한 부여하기

파일이 준비되면 스크립트를 실행할 수 있도록 실행 권한을 부여합니다. 아래 명령어를 통해 deploy_portfolio.sh 파일에 실행 권한을 추가합니다.

 

chmod +x deploy_portfolio.sh

 

이 작업은 한 번만 수행하면 됩니다. 이제 매번 스크립트를 실행할 때 다시 권한을 부여할 필요가 없습니다.


3. 배포 스크립트 실행하기

이제 작성한 스크립트를 실행하여 Docker 애플리케이션을 배포할 수 있습니다. 실행 명령어는 다음과 같습니다.

./deploy_portfolio.sh

 

스크립트가 순서대로 실행되며, 마지막에 Portfolio application has been deployed successfully.라는 메시지가 출력됩니다.


4. 스크립트 실행 결과 확인하기

docker ps 명령어를 통해 컨테이너가 잘 실행되고 있는지 확인합니다.

docker ps

 

위 명령어를 실행하면 portfolio라는 이름의 컨테이너가 8001 포트에서 실행 중인 것을 확인할 수 있습니다.