Ubuntu Docker Compose 설치 방법(22.04 기준)

Ubuntu 운영체제에 아직 Docker와 Docker Compose를 설치하지 않으셨나요? 혹은 설치한지 오래됐고, 새버전을 설치하고 싶으신가요? Ubuntu Docker Compose 설치 방법 알아보겠습니다.

Ubuntu Docker Compose 설치 방법 개요

과거에는 docker도 설치하고 docker-compose도 별도로 설치해야 했었습니다. 그런데 이제는 Docker Engine만 설치하면 Docker compose를 플러그인으로 설치하면 됩니다. 그리고 docker-compose 명령어 대신에 docker compose 명령어를 사용하면 됩니다. 그럼 우분투 18.04, 20.04, 22.04, 22.10에서 모두 설치 가능한 Docker Compose 설치 방법 알아보겠습니다.

기존의 Old 버전 제거하기(Uninstall old versions)

우선 새로운 도커 엔진을 설치하려면 기존의 도커는 삭제해 줘야 합니다. 만약 처음 설치하는 것이고, 아직 도커가 한번도 설치된 적이 없으면 이 과정은 건너 뛰어도 됩니다. 그렇지 않다면 아래의 명령어를 사용해서 기존에 설치된 패키지를 모두 제거해 줍니다.

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

리포지터리 설정 방법

필수 패키지 설치

https를 통해서 apt가 리포지터리를 이용하도록 하려면 apt 패키지 인덱스를 업데이트 하고, 필수적인 패키지들을 설치해야 합니다.

sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
ShellScript
그림 1. 필수 패키지가 모두 설치되어 있는 경우
그림 1. 필수 패키지가 모두 설치되어 있는 경우

Docker 공식 GPG Key 추가

/etc/apt/keyrings에 docker.gpg 파일을 다운 받습니다.

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
ShellScript

Docker 리포지터리 설정

docker.list에 docker 리포지터리를 설정해 줍니다.

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
ShellScript

도커 엔진 설치

apt 패키지 인덱스 업데이트

sudo apt-get update
ShellScript

Docker Engine 및 docker-compose-plugin 설치

여기 보시면 docker-compose-plugin까지 함께 설치되는 것 보이죠? 이제는 docker 설치만으로 docker-compose까지 플러그인 하나로 간단히 해결합니다.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
ShellScript
그림 2. docker engine 및 docker compose plugin 설치
그림 2. docker engine 및 docker compose plugin 설치

Docker Engine Upgrade

도커 엔진을 설치해서 사용하다가 상위버전으로 업그레이드 해야 할 필요가 있을 땐 최신 패키지를 직접 받아서 설치해야 합니다. 설치하는 방법을 알아보겠습니다.

배포판 패키지 파일 받으러 가기

먼저 https://download.docker.com/linux/ubuntu/dists/에 들어가면, 그림 3과 같은 리눅스 배포판 이름이 쭉 나옵니다. 여기에서 현재 사용하는 우분투 버전을 선택하시면 됩니다.

그림 3. 리눅스 배포판 이름 화면
그림 3. 리눅스 배포판 이름 화면

혹시, 내가 쓰는 리눅스의 배포판 이름이 뭐지? 하고 궁금하신 분은 lsb_release -cs 명령어를 실행해 보세요. 그러면 현재 사용하는 리눅스의 배포판 이름을 알 수 있습니다. 그림 4에서 Ubuntu 22.04를 사용하고 있을 때 jammy가 뜨는 것을 볼 수 있습니다.

lsb_release -cs
ShellScript
그림 4. 현재 리눅스 배포판 명칭 확인
그림 4. 현재 리눅스 배포판 명칭 확인

이제 그림 4와 같은 화면에서 자신의 리눅스 배포판 링크를 선택해 준 후, pool과 stable을 차례로 눌러서 들어갑니다. 그리고 자신이 사용하는 머신의 아키텍처 타입을 골라줍니다. 저는 인텔 64bit CPU를 사용하고 있으므로 amd64를 선택합니다. 이제 아래의 4개 패키지를 원하는 것으로 받으시면 됩니다.

  • containerd.io_<version>_<arch>.deb
  • docker-ce_<version>_<arch>.deb
  • docker-ce-cli_<version>_<arch>.deb
  • docker-compose-plugin_<version>_<arch>.deb

그리고 아래의 명령어를 사용하면 됩니다.

sudo dpkg -i ./containerd.io_<version>_<arch>.deb \
  ./docker-ce_<version>_<arch>.deb \
  ./docker-ce-cli_<version>_<arch>.deb \
  ./docker-compose-plugin_<version>_<arch>.deb
ShellScript

현재 기준으로 최신 버전은 아래의 파일들이네요. 아래처럼 하면 됩니다. 파일 하나씩 입력하기 귀찮으시다고요? 아직도 tab을 안 쓰시나요? 터미널에서 파일이름 일부만 입력하고 tab키 누르면 이런 파일 이름들 자동으로 쭉쭉 입력되는 거 아시죠?

sudo dpkg -i containerd.io_1.6.16-1_amd64.deb docker-ce_23.0.0-1_ubuntu.22.04_jammy_amd64.deb docker-ce-cli_23.0.0-1_ubuntu.22.04_jammy_amd64.deb docker-compose-plugin_2.15.1-1_ubuntu.22.04_jammy_amd64.deb
ShellScript

이제 위의 명령어를 다 실행하고나면, 그림 5와 같이 업데이트된 도커 버전을 확인할 수 있습니다. 도커 구동 중에도 업데이트가 잘 되니 서비스를 다 내려야 하나 싶은 고민은 안하셔도 됩니다. 그래도 이용자가 가장 적은 시간에 업데이트 하는 게 좋겠죠. 개발용 PC라면 신경쓰지 말고 업데이트 하면 됩니다.

그림 5. 업그레이드 된 도커 버전 확인
그림 5. 업그레이드 된 도커 버전 확인

여기까지 Ubuntu에서의 Docker 및 Docker compose 설치 방법과 Docker Engine Upgrade 방법까지 모두 살펴보았습니다. 필요하신 분들께 도움이 되셨길 바랍니다.

관련 자료

Docker docs의 우분투에서의 Docker Engine 설치 문서를 참고했습니다.

같이 읽으면 좋은 글

Leave a Comment