EC2에 도커, 젠킨스 설치

GwanMtCat·2023년 9월 5일
0

EC2에 Docker, Jenkins 설치하기


EC2 생성

  • AWS에 접속하고 EC2를 생성하자.
  • 주의할점은 기본으로 VPC 및 서브넷 라우팅 테이블 보안그룹등이 설정되어 있는데 모든 트래픽을 허용하니 웬만하면 새로 만드는 것이 좋다.
  • EC2 - 인스턴스 - 인스턴스 시작을 누르고 설명을 읽어가면서 만들자.

  • pem 키는 ssh 접속을 위해 사용해야 하므로 잘 보관하자.

  • Public IP를 자동할당 하는것을 잊지말자.


  • 인스턴스 메뉴에서 연결을 누르고

  • SSH 명령어를 이용하여 인스턴스에 접속하자.
  • SSH는 기존의 rsh, rloing, telnet 등을 대체하기 위해 설계되어 Secure Shell의 약자로 기본적으로 22번 포트를 사용하여 네트워크로 연결, 다른 리눅스 서버로 접속할 때 사용하는 프로토콜이다.

  • 주의해야 할 점은 보안 규칙, 라우팅 테이블에서 SSH 포트에 대해서 패킷을 허용할 수 있도록 설정해야 한다.

  • 또 앞에서 언급했듯 기본으로 생성되는 VPC, 서브넷, 라우팅 테이블 등을 사용하고 있지 않다면 인터넷 게이트웨이가 연결이 안되어 있을 수 있으니 연결 하도록하자.

  • 잘 접속되었다.

도커 설치

sudo yum update -y
sudo yum install -y docker

// 도커 버전 확인
sudo docker version

// 도커 컨테이너 상태 확인
sudo docker ps -a

// 도커 서비스 시작
sudo systemctl start docker
  • 매번 sudo 를 붙여야 하는게 불편한데 그럴 때는 usermod 로 권한을 줄 수 있다.
 sudo usermod -a -G docker $USER
 
 // 유저 스위칭을 해야 제대로 동작하더라.
 sudo su - 
 sudo su ec2-user

젠킨스 설치하기

 docker pull jenkins/jenkins:${원하는 버전}
  • 도커를 실행하자. 도커 볼륨 설정 시 Permission Denied 문제가 발생할 경우, 이런 문제로 발생하는 것이니 주의하자.
// 아래 도커 이미지 실행했는데 permission 문제가 난다면 다음 명령어를 실행하자.
sudo chown -R 1000:1000 /jenkins

// 젠킨스 내부에서 도커를 실행하려면 볼륨 설정이 추가로 필요하며 권한 관련 설정이 필요하다.
sudo chmod 666 /var/run/docker.sock


// 도커 실행
docker run -d —name jenkins -p 8080:8080 -p 50000:50000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/usr/bin/docker \
-v /jenkins:/var/jenkins_home \
jenkins/jenkins:jdk17

// 혹여나 이미 만들었다면 다음 명령어를 실행하고 다시 위의 실행 명령어를 실행하자.
docker ps -a 
docker rm jenkins -f
  • EC2 Public Ip:호스트 Port로 접속하자.
    • 8080:8080 은 호스트포트:컨테이너 포트이다.

  • 아까와 같이 보안그룹에서 호스트 포트에 대해서 패킷이 통과 가능하도록 허용 시켜줘야 한다.

  • 젠킨스 초기 관리자 비밀번호는 컨테이너 내부의 위 경로에서 얻을 수 있다.

  • 혹은 Docker logs ${containerId} 로 초기에 검색하면 비밀번호가 올라가 있는것을 확인할 수 있다.

  • 플러그인을 설치하자. 나는 플러그인에 대해 자세히 아는 편이 아니라서 왼쪽을 택해서 진행하였다.

  • 플러그인 설치 시 이상하게 오래 걸리고 모두 설치에 실패한다면 경로 문제일 가능성이 크다. 특히 도커 컴포즈일 경우 그런 케이스가 많으므로 주의하자.

  • 아이디와 비밀번호를 입력하고 진행하자. 젠킨스 설치가 완료되었다.

0개의 댓글