[CI/CD] 1. AWS EC2 환경에서 Docker 설치

bbolddagu·2023년 4월 24일
0

CI/CD 구축

목록 보기
1/3

1. EC2 접속

방법 1)

  1. 터미널을 엽니다.
  2. SSH를 사용하여 EC2 인스턴스에 연결합니다.
    ssh -i [인스턴스 키페어 파일 경로] [사용자명]@[인스턴스 IP 주소]
    • 인스턴스 키페어 파일 경로: 인스턴스를 만들 때 지정한 .pem 파일의 경로입니다.
    • 사용자명: 인스턴스 운영 체제에서 만든 사용자 계정 이름입니다.
    • 인스턴스 IP 주소: EC2 콘솔에서 확인할 수 있습니다.

방법 2) MobaXterm 사용

  1. MobaXterm 다운로드 링크 및 설정 링크
    • 사용 이유: 방법1과 같이 EC2 접속할 때마다 2번 명령어를 입력하지 않고 MobaXterm을 실행하면 자동으로 EC2에 접속하도록 하기 위해서

2. Docker 및 docker-compose 설치

(1) apt 패키지 업데이트

apt란?
: apt는 Ubuntu나 Debian 기반의 리눅스 시스템에서 사용되는 패키지 관리자입니다. apt를 사용하면 사용자가 손쉽게 원하는 소프트웨어 패키지를 설치, 삭제, 업데이트할 수 있습니다.

sudo apt-get update

# 👩‍🏫 HTTPS를 통해 안전하게 소프트웨어를 다운로드하고 설치하기 위해 필요한 패키지들을 설치
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

👉 도커 설치에 필요한 패키지 설치

  • ca-certificates: HTTPS 통신에 필요한 인증서를 제공합니다.
  • curl: URL을 통해 데이터를 다운로드하고 전송하는데 사용되는 명령어입니다.
  • gnupg: 개인키를 사용하여 데이터의 무결성과 기밀성을 보호하기 위해 사용되는 암호화 도구입니다.
  • lsb-release: 현재 운영체제의 버전 정보를 제공합니다.

(2) 도커 GPG키 설정

GPG란?
GPG는 GNU Privacy Guard의 약자로, 데이터의 암호화 및 전자 서명을 위한 오픈 소스 암호화 소프트웨어입니다. GPG를 사용하면 데이터를 안전하게 암호화하고, 인증서 및 전자 서명을 생성하고 확인할 수 있습니다. GPG는 PGP(Pretty Good Privacy) 프로토콜의 무료 대안으로 개발되었으며, 이제 많은 리눅스 배포판에서 기본적으로 제공되고 있습니다. GPG는 인터넷을 통해 전송되는 이메일이나 파일 등의 보안을 유지하기 위해 널리 사용되고 있습니다.

#  /etc/apt/keyrings 디렉토리를 생성 
# 이 디렉토리는 패키지 관리자에서 사용하는 공개 키를 저장하는데 사용 
# (-p 옵션은 디렉토리가 없을 경우 중간 경로의 디렉토리도 함께 생성)
sudo mkdir -p /etc/apt/keyrings

# 도커 GPG키 다운로드
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo apt-get update

(3) 도커 설치

1. 도커 설치

sudo apt-get install docker-ce

2. 도커 확인

sudo systemctl status docker

👉 Active 상태에 active(running) 확인

👩‍🏫 sudo 없이 도커 사용하기

1. 도커 그룹에 사용자 추가하기

sudo usermod -aG docker $USER
  • 이 명령은 현재 사용자를 docker 그룹에 추가합니다. $USER는 현재 사용자의 이름을 나타냅니다.

2. 새 그룹 구성원 자격 적용 [두가지 방법]
2-1. 로그아웃한 후 다시 로그인

# 로그아웃
logout

# 로그인
ssh 로그인이름@호스트주소

2-2. 명령어로 새 그룹 구성원 자격 적용

 su - ${USER}
  • su: switch user - 다른 사용자 계정으로 전환

    • 옵션은 로그인 셸을 사용하여 사용자 계정을 변경한다는 것

    ✋ 명령어 입력 시 해당 유저 암호 입력 필요

3. 도커 그룹 확인

id -nG
  • 현재 사용자가 속한 그룹의 정보를 출력하는 명령어
  • -n 옵션은 출력되는 그룹 이름을 숫자 아이디 대신 그룹 이름으로 출력하도록 지정하는 옵션
  • -G 옵션은 모든 그룹 정보를 출력하는 옵션

👉 아래와 같은 응답이 나오면 성공

${USER} ... sudo ... docker

📖 참고

0개의 댓글