← Back to Blog

[Docker | Ubuntu] Install Docker and Docker Compose

computer science > programming

2026-07-053 min read

#computer-science #programming #docker #docker-compose #ubuntu #linux

공식 문서: Install Docker Engine on Ubuntu, Install the Docker Compose plugin

Ubuntu에서 Docker를 설치할 때는 apt install docker.io로도 설치할 수 있다. 하지만 Docker 공식 문서 기준으로는 Docker의 apt repository를 등록한 뒤 docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin, docker-compose-plugin을 설치하는 방식이 권장된다.

이 글에서는 Ubuntu 서버 기준으로 Docker Engine과 Docker Compose plugin을 설치한다.


기존 패키지 제거

이미 Ubuntu 기본 저장소의 Docker 패키지를 설치한 적이 있다면 먼저 제거한다.

sudo apt-get remove docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc

설치된 패키지가 없으면 제거할 것이 없다는 메시지가 나올 수 있다. 그 경우 그냥 다음 단계로 넘어가면 된다.


Docker apt repository 등록

먼저 package index를 업데이트하고, HTTPS repository 사용에 필요한 패키지를 설치한다.

sudo apt-get update
sudo apt-get install ca-certificates curl

Docker GPG key를 저장할 디렉터리를 만든다.

sudo install -m 0755 -d /etc/apt/keyrings

Docker 공식 GPG key를 내려받는다.

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

apt가 key 파일을 읽을 수 있게 권한을 설정한다.

sudo chmod a+r /etc/apt/keyrings/docker.asc

이제 Docker repository를 apt source에 추가한다.

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

repository를 추가했으므로 package index를 다시 업데이트한다.

sudo apt-get update

Docker Engine 설치

다음 명령어로 Docker Engine, CLI, containerd, Buildx, Compose plugin을 설치한다.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

설치가 끝나면 Docker daemon 상태를 확인한다.

sudo systemctl status docker

만약 실행 중이 아니라면 직접 시작한다.

sudo systemctl start docker

부팅 시 자동 실행되게 하려면 다음 명령어를 사용한다.

sudo systemctl enable docker

설치 확인

Docker가 정상 설치되었는지 확인한다.

sudo docker run hello-world

이 명령어는 hello-world 이미지를 내려받고 container를 실행한 뒤 종료한다. 정상적으로 실행되면 Docker Engine 설치가 완료된 것이다.

버전도 확인한다.

docker --version

sudo 없이 Docker 사용하기

기본적으로 Docker 명령어는 root 권한이 필요하다. 매번 sudo docker ...를 입력하기 싫다면 현재 사용자를 docker group에 추가한다.

sudo usermod -aG docker $USER

변경사항을 적용하려면 로그아웃 후 다시 로그인한다. SSH 접속 중이라면 세션을 종료한 뒤 다시 접속하면 된다.

다시 로그인한 뒤 다음 명령어가 sudo 없이 동작하는지 확인한다.

docker run hello-world

주의할 점은 docker group에 속한 사용자는 Docker daemon을 통해 root 수준의 작업을 할 수 있다는 것이다. 따라서 서버에서 아무 사용자나 docker group에 넣으면 안 된다.


Docker Compose 설치 확인

요즘 Docker Compose는 별도 docker-compose binary보다 Docker CLI plugin 형태인 docker compose를 사용한다. 앞에서 docker-compose-plugin을 함께 설치했으므로 별도 설치가 필요 없다.

Compose 버전을 확인한다.

docker compose version

여기서 주의할 점은 명령어가 docker-compose가 아니라 docker compose라는 것이다.

구분설명
docker composeDocker CLI plugin 방식
docker-compose예전 standalone binary 방식

새로 설치한다면 docker compose를 기준으로 사용하는 것이 좋다.


docker-compose.yml 테스트

간단한 Compose 파일을 만들어 동작을 확인해보자.

services:
  nginx:
    image: nginx:latest
    ports:
      - "8080:80"

예를 들어 compose-test 디렉터리를 만들고 docker-compose.yml을 저장한다.

mkdir compose-test
cd compose-test
vi docker-compose.yml

실행은 다음과 같다.

docker compose up -d

container 상태를 확인한다.

docker compose ps

브라우저나 curl8080 port에 접근한다.

curl http://localhost:8080

Nginx 기본 HTML이 보이면 Compose도 정상 동작하는 것이다.

테스트가 끝나면 container를 종료하고 제거한다.

docker compose down

자주 쓰는 명령어

설치 후 자주 사용하는 명령어는 다음과 같다.

명령어의미
docker ps실행 중인 container 목록
docker ps -a전체 container 목록
docker imageslocal image 목록
docker logs <container>container log 확인
docker exec -it <container> bashcontainer 내부 shell 접속
docker compose up -dCompose service background 실행
docker compose downCompose service 종료 및 제거
docker compose logs -fCompose service log follow

삭제 방법

Docker 패키지를 제거하려면 다음 명령어를 사용한다.

sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

이미지, container, volume까지 삭제하려면 Docker data directory도 제거해야 한다.

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

이 명령어는 기존 container와 volume 데이터를 삭제하므로 운영 서버에서는 반드시 확인 후 실행해야 한다.


정리

Ubuntu에서 Docker와 Docker Compose를 설치하는 기본 흐름은 다음과 같다.

  1. 기존 Docker 관련 패키지를 제거한다.
  2. Docker 공식 GPG key와 apt repository를 등록한다.
  3. docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin, docker-compose-plugin을 설치한다.
  4. sudo docker run hello-world로 Docker Engine을 확인한다.
  5. docker compose version으로 Docker Compose plugin을 확인한다.
  6. 필요하면 사용자를 docker group에 추가한다.

새로운 환경에서는 docker-compose보다 docker compose를 기준으로 명령어를 익히는 것이 좋다.