[Docker] ubuntu에 Docker, Docker compose 설치

스윗포테이토·2022년 12월 13일
3

docker

목록 보기
2/2
post-custom-banner

EC2 인스턴스에 Docker, Docker-compose 를 설치하려고 한다.
버전 정보는 아래와 같다.

기본적인 순서는 공식 문서를 참고했다.

ssh 접속

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>

docker, docker compose 설치

구버전 지우기

만약 이미 도커를 설치한 적이 있다면 이전 버전을 지우고 새로 까는 것이 좋다.

sudo apt-get remove docker docker-engine docker.io containerd runc

만약 설치한 적이 없다면 패키지를 찾을 수 없다고 나올 것이다.

Docker repository 설정

  • 패키지 업그레이드
    sudo apt-get update
    sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
  • GPG key - 변조되지 않았는지 확인하기 위한 공식 키 다운로드 (도커가 위변조 되지 않았음을 확인)
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  • set up repository
    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

도커 엔진 설치

  • apt 패키지 업데이트
    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 }'
    결과로 나온 리스트 중 원하는 버전을 찾아서 명시해주면 된다.
    ex)
    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

reference

Install Docker Engine on Ubuntu

profile
나의 삽질이 미래의 누군가를 구할 수 있다면...
post-custom-banner

0개의 댓글