Jenkins 에서 EC2 로 Docker Image 배포

드라카·2023년 3월 6일
0

Jenkins를 사용하여 EC2 인스턴스에 Docker 이미지를 배포하는 방법은 다음과 같습니다.

  1. Jenkins에서 "Freestyle project"를 생성합니다.

  2. "Build" 섹션에서 "Execute shell" 옵션을 선택합니다.

  3. 다음과 같은 쉘 스크립트를 작성합니다.

#!/bin/bash

# Docker 데몬 시작
sudo service docker start

# Docker 이미지 빌드
sudo docker build -t <이미지 이름> <Dockerfile 경로>

# Docker 이미지 실행
sudo docker run -d -p <호스트 포트>:<컨테이너 포트> <이미지 이름>
  1. "Post-build Actions" 섹션에서 "Send files or execute commands over SSH" 옵션을 선택합니다.

  2. "SSH Site"에서 EC2 인스턴스의 정보를 입력합니다. 예를 들어, "Hostname"은 인스턴스의 IP 주소이고, "Username"은 EC2 인스턴스에 로그인하는 사용자 이름입니다.

  3. "Transfers" 섹션에서 "Transfer set"을 선택하고, "Source files"에는 빌드된 Docker 이미지를 업로드할 경로를 입력합니다.

  4. "Exec command"에는 다음과 같은 스크립트를 입력합니다.

#!/bin/bash

# Docker 이미지 업로드
sudo docker save <이미지 이름> | ssh <호스트> "sudo docker load"

# Docker 이미지 실행
sudo docker run -d -p <호스트 포트>:<컨테이너 포트> <이미지 이름>
  1. 이제 Jenkins에서 빌드를 실행하면 Docker 이미지가 빌드되고 EC2 인스턴스로 업로드됩니다. EC2 인스턴스에서 Docker 컨테이너가 실행되고 원하는 포트로 노출됩니다.
profile
삽질의 달인

0개의 댓글