EC2 인스턴스에 Docker, Docker-compose 를 설치하려고 한다.
버전 정보는 아래와 같다.
기본적인 순서는 공식 문서를 참고했다.
pem key를 이용한 ssh 접속 명령어는 아래와 같다.
ssh -i "path-to-pem-key" <user>@<EC2 ip>
매번 이렇게 접근하긴 어렵기 때문에 ~/.ssh/config
파일에 접속 정보를 저장해둘 수 있다.
Host <host name - 접속할 때 사용할 이름>
HostName <ec2 ip or Domain>
User <user name>
IdentityFile <path-to-pem-key>
위와 같이 입력하고 나면 아래와 같이 간단한 명령어로 접속할 수 있다.
ssh <host name>
만약 이미 도커를 설치한 적이 있다면 이전 버전을 지우고 새로 까는 것이 좋다.
sudo apt-get remove docker docker-engine docker.io containerd runc
만약 설치한 적이 없다면 패키지를 찾을 수 없다고 나올 것이다.
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
만약 구버전을 다운받고 싶으면 직접 버전을 지정해주어야 한다.버전 확인
apt-cache madison docker-ce | awk '{ print $3 }'
결과로 나온 리스트 중 원하는 버전을 찾아서 명시해주면 된다.VERSION_STRING=5:20.10.13~3-0~ubuntu-jammy # 원하는 버전 명시
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-compose-plugin
패키지를 설치할거냐는 물음이 나오는데 y를 입력하면 설치가 완료된다!docker -v
를 통해 설치한 도커 버전을 확인할 수 있다.막상 도커 명령어를 입력하려고 하면, 권한 오류가 뜰 때가 있다.
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:
루트 권한으로 실행하면 해결될 문제지만, 매번 sudo
를 붙여서 입력하기도 번거롭고 권장하는 방법도 아니니까 사용자를 도커 그룹에 포함시켜주면 된다.
sudo usermod -a -G docker $USER