개요
EC2 인스턴스에 대략적인 설정은 다 끝냈고, 일단 먼저 EC2에 Docker를 설치할 계획이다.
1. EC2 접속
> 환경
1) AWS EC2 Ubuntu(프리티어)
2) MAC OS
1-1. EC2 인스턴스에 SSH 접속
EC2 인스턴스에 접속하기 위해서는 우리가 인스턴스 세팅할 때 다운받았던 SSH 키를 사용하면 된다.
터미널에서 아래와 같이 입력하면 된다.
ssh -i [ssh파일경로] ubuntu@[ec2 퍼블릭 IP 주소]
예를 들면,
ssh -i mykey.pem ubuntu@my-ec2-public-ip
* Permissions 0644 문제
ssh로 접속하는 과정에서 위의 에러가 발생했는데,
SSH 키 파일의 권한이 0644로 설정되어 있으면 다른 사용자도 키 파일을 읽을 수 있다. 다만 AWS에서는 SSH 키 파일의 권한이 엄격하게 설정되어 있어야 하므로
chmod 600 my-key.pem
600으로 설정해 소유자만 읽기/쓰기가 가능하도록 권한을 설정해줘야한다.
2. Docker 설치
EC2 OS가 Ubuntu로 세팅되어 있기 때문에 apt를 활용해서 Docker를 설치해야 한다.
apt란?
Ubuntu와 같은 Debian 기반 Linux 배포판에서 소프트웨어를 설치, 업데이트, 삭제, 관리하는 데 사용되는 패키지 관리 도구이다.
-> 소프트웨어와 관련된 모든 파일과 의존성을 자동으로 다운로드 및 설치한다. (패키지 설치)
-> 시스템에 설치된 소프트웨어 패키지를 최신 상태로 유지한다. (업데이트 관리)
-> 필요한 경우 다른 관련 패키지도 자동으로 설치하거나 제거한다. (의존성 처리)
-> Ubuntu의 패키지 저장소를 기반으로 작동하고, /etc/apt/sources.list 파일에 저장소 경로가 정의되어 있다. (저장소 관리)
2-1. 시스템 업데이트
sudo apt update
-> 시스템의 패키지 목록을 최신 상태로 업데이트한다.
-> 이걸 하는 이유는 Docker 설치에 있어 의존성의 충돌을 방지하기 위해 업데이트를 하는 것이다.
2-2. Docker 필수 패키지 설치
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
: apt-transport-https
-> HTTPS를 통해 패키지를 다운로드할 수 있도록 지원한다.
-> HTTPS를 사용하는 이유는 Docker의 공식 저장소가 HTTPS를 사용하기 때문!
: ca-certificates
-> SSL 인증서를 관리하는 패키지
-> Docker 공식 저장소의 인증서를 신뢰할 수 있도록 설정
: curl
-> URL 데이터를 가져오는 도구
-> Docker GPG 키를 다운로드 하는데 사용됨.
: software-properties-common
-> 저장소 관리를 위한 유틸리티를 제공한다.
-> Docker 저장소를 Ubuntu에 추가할 때 필요하다.
* Docker GPG
-> 패키지의 출처와 무결성을 보장하기 위한 보안 서명 도구
-> Docker의 패키지가 공식 출처에서 제공된 것임을 검증하는 것!
2-3. Docker GPG 키 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
: curl -fsSL
-> Docker GPG 키를 다운로드한다.
-> f (실패 시 메시지 표시)
-> s (출력 메시지 숨김)
-> L (리다이렉트를 따라가서 다운로드)
: sudo gpg --dearmor
-> 다운로드한 GPG키를 다운로드 한 GPG 키를 바이너리 형식으로 변환
: -o /usr/share/keystrings/docker-archive-keyring.gpg
-> GPG 키를 저장할 경로를 지정함
2-4. Docker 저장소 추가
Docker 저장소는 Docker 설치와 업데이트에 필요한 패키지가 위치한 원격 서버로, Ubuntu의 기본 저장소에는 Docker의 최신 버전이 없기 때문에 Docker의 공식 저장소를 추가해줘야 한다.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
: dpkg --print-architecture
-> amd64, arm64와 같은 현재 시스템의 아키텍처를 출력한다.
: lsb_release -cs
-> 현재 Ubuntu 배포판의 코드 이름을 출력한다.
: signed-by
-> 위에서 다운 받은 GPG 키 지정
: 그 뒤
-> Docker 저장소 URL을 이 파일에 추가함.
2-5. Docker 설치
sudo apt update
sudo apt install -y docker-ce
새로 추가한 Docker 저장소를 반영하기 위해 패키지 목록을 다시 업데이트 한 뒤,
Docker의 Community 버전을 설치한다.
2-6. Docker 설치 확인
docker --version
'Infra > Docker적용' 카테고리의 다른 글
[Docker 적용] SpringBoot + DockerFile + Docker Compose 적용 (0) | 2025.01.20 |
---|---|
[Docker 적용] EC2 인스턴스(ubuntu) 환경에 docker compose 설치 (1) | 2025.01.20 |
[Docker 적용] Ec2 환경에서 Docker로 Jenkins 구축하기 (0) | 2025.01.19 |
[Docker 적용] Docker MySQL 설치 (1) | 2025.01.08 |