Docker / / 2024. 12. 3. 09:30

AWS EC2 인스턴스 Docker 설치

1. EC2 인스턴스 생성 후 기본 설정 확인

 

EC2 인스턴스를 생성하고 보안 그룹에서 SSH (포트 22)를 열어두었는지 확인하세요.

인스턴스에 접속하려면 .pem 파일(키 페어)을 MacBook에 다운로드받아야 합니다.


2. EC2 인스턴스 접속

 

1. 터미널에서 SSH 접속

다음 명령어로 EC2에 접속합니다.

ssh -i /path/to/your-key.pem ubuntu@@<EC2-퍼블릭-IP>

 

예:

ssh -i ~/Downloads/my-aws-key.pem ubuntu@@3.35.19.13

 

🔑 ec2-user는 Amazon Linux의 기본 사용자 이름입니다. Ubuntu의 경우 ubuntu를 사용합니다.

 

2. 접속 확인

성공적으로 접속되면 프롬프트가 EC2 인스턴스 내부로 전환됩니다.


3. EC2에서 Docker 설치

 

EC2 인스턴스에 접속한 뒤 아래 명령어를 실행합니다. 인스턴스 종류에 따라 설치 방법이 약간 다를 수 있습니다.

 

(1) Amazon Linux 2

 

Amazon Linux 2에서는 Docker를 다음과 같이 설치합니다:

# 기존 패키지 업데이트
sudo yum update -y

# Docker 설치
sudo amazon-linux-extras enable docker
sudo yum install -y docker

# Docker 서비스 시작
sudo service docker start

# ec2-user를 Docker 그룹에 추가 (선택: 비루트 사용자를 위해)
sudo usermod -a -G docker ec2-user

 

(2) Ubuntu

 

Ubuntu에서는 다음 명령어를 사용합니다:

# 기존 패키지 업데이트
sudo apt-get update

# Docker 의존성 설치
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

# Docker GPG 키 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Docker 저장소 추가
echo "deb [arch=amd64 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

# Docker 설치
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

# Docker 서비스 시작
sudo systemctl start docker

# 현재 사용자를 Docker 그룹에 추가 (선택)
sudo usermod -aG docker $USER

4. Docker 설치 확인

 

Docker가 정상적으로 설치되었는지 확인합니다.

docker --version

 

정상 출력 예:

Docker version 20.10.25, build abc123

5. Docker 기본 실행 테스트

 

테스트로 Docker 컨테이너를 실행해 봅니다:

sudo docker run hello-world

 

이 명령어는 Docker Hub에서 hello-world 이미지를 다운로드하고 실행합니다. 성공하면 Docker가 정상적으로 작동하는 것입니다.


6. 로컬 MacBook에서 EC2 관리

 

EC2 인스턴스에서 Docker가 설치되면 로컬 MacBook에서도 Docker CLI를 사용해 EC2의 Docker를 원격으로 제어할 수 있습니다. 이를 위해 다음을 수행하세요:

1. EC2에서 Docker 데몬을 원격 활성화

EC2에서 /etc/docker/daemon.json 파일을 수정하여 Docker API를 활성화합니다:

{
  "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}

 

변경 후 Docker 서비스를 다시 시작합니다:

sudo service docker restart

 

2. MacBook에서 Docker CLI로 EC2 Docker 접근

MacBook에서 환경 변수를 설정하여 EC2의 Docker를 원격 제어합니다:

export DOCKER_HOST=tcp://<EC2-퍼블릭-IP>:2375
docker ps

AWS EC2에서 권한 설정

 

1. Docker 설치

 

1.1 패키지 업데이트

 

AWS EC2에서 최신 패키지 정보를 업데이트:

sudo apt update

 

1.2 HTTPS 관련 패키지 설치

 

Docker 설치를 위해 HTTPS 및 관련 패키지를 설치:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

 

설치되는 패키지

 

apt-transport-https: HTTPS로 패키지를 다운로드하기 위한 모듈.

ca-certificates: 인증서를 관리하여 안전한 통신 보장.

curl: 파일을 전송하기 위한 명령줄 도구.

software-properties-common: PPA 저장소 추가 및 관리 도구.

 

1.3 Docker GPG 키 추가

 

Docker 저장소의 신뢰성을 확인하기 위해 GPG 키를 추가:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

 

1.4 Docker 저장소 추가

 

Docker 패키지가 있는 저장소를 Ubuntu에 등록:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

 

1.5 패키지 목록 다시 업데이트

 

새로 추가된 Docker 저장소를 포함하여 패키지 정보를 업데이트:

sudo apt update

 

1.6 Docker 설치

 

Docker CE(Community Edition)를 설치:

sudo apt install docker-ce

 

1.7 Docker 설치 확인

 

설치된 Docker의 버전을 확인:

docker --version

 

출력 예:

Docker version 20.10.25, build abc123

2. Docker 권한 설정

 

2.1 현재 사용자 그룹 확인

 

Docker 설치 후, 현재 사용자가 속한 그룹 확인:

sudo groups $USER

 

결과 예시

ubuntu : ubuntu adm cdrom sudo dip lxd

 

2.2 Docker 그룹 생성

 

Docker 데몬에 접근할 수 있는 그룹을 생성:

sudo groupadd docker

 

2.3 사용자 Docker 그룹에 추가

 

현재 사용자를 docker 그룹에 추가:

sudo usermod -aG docker $USER

 

2.4 Docker 그룹에 사용자 추가 확인

 

getent 명령으로 Docker 그룹에 사용자 추가가 성공했는지 확인:

getent group docker

 

결과 예시

docker:x:988:ubuntu

3. 접속 재설정

 

3.1 SSH 접속 종료 후 재접속

 

변경 사항을 적용하기 위해 SSH를 종료하고 다시 접속:

exit

 

재접속:

ssh -i ./development/Tools/aws_ec2_keys/kafkaserverkey.pem ubuntu@<EC2 퍼블릭 IP>

 

3.2 인스턴스 재부팅 (선택)

 

변경 사항 적용을 위해 EC2를 재부팅할 수도 있습니다:

sudo reboot

4. Docker 권한 테스트

 

Docker를 sudo 없이 실행할 수 있는지 테스트:

docker run hello-world

'Docker' 카테고리의 다른 글

BusyBox와 Debian 비교  (0) 2024.12.03
Fork  (0) 2024.12.03
wget  (0) 2024.12.03
Docker 명령어  (0) 2024.12.03
Docker  (1) 2024.11.12
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유