Skip to content
VDS · Docker 및 컨테이너

Docker: 머신에 설치하기

Debian, Ubuntu, AlmaLinux에 Docker를 제대로 설치하는 방법, 공식 저장소가 시스템 패키지보다 나은 이유, 그리고 설치 직후 확인해야 할 것을 알아봐요.

업데이트 2026년 8월 23일

Docker는 애플리케이션과 그 전체 환경을 컨테이너 하나로 묶어줍니다. 라이브러리 버전을 맞출 필요가 없고, 다른 머신으로 옮기는 일도 설정 파일 하나를 복사하는 것으로 끝납니다. 전체 root 권한이 있는 VDS에서는 표준 방식으로 설치합니다.

공식 저장소에서 설치하기

시스템 저장소에는 구버전이 들어 있거나 Compose v2 플러그인이 빠진 docker.io가 들어 있습니다. 이 차이는 중요합니다. 온라인 가이드의 절반은 최신 docker compose 기준으로 쓰여 있지 docker-compose 기준이 아닙니다.

Debian 12, 13, Ubuntu 22.04 / 24.04 / 26.04:

sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Ubuntu에서는 debian을 ubuntu로 두 곳에서 바꿔 주세요.

AlmaLinux 9, 10, CentOS Stream 9:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker

설치 확인하기

docker --version
docker compose version
sudo docker run --rm hello-world
docker info | grep -E "Storage Driver|Cgroup|Docker Root Dir"

hello-world가 내려받아지고 인사말을 출력했다면 모든 것이 정상입니다. 스토리지 드라이버는 overlay2여야 합니다.

sudo 없이 사용하기

sudo usermod -aG docker $USER
newgrp docker

docker 그룹은 root와 같습니다. 이 그룹에 속한 사람은 누구나 호스트 root를 마운트한 컨테이너를 실행해 관리자가 될 수 있습니다. 어차피 root 권한을 줘도 될 사람만 추가하세요. 애플리케이션에는 절대 부여하지 마세요.

바로 설정해야 할 것

로그를 제한하지 않으면 시끄러운 컨테이너 하나가 디스크를 다 잡아먹습니다. /etc/docker/daemon.json을 만드세요:

{
  "log-driver": "json-file",
  "log-opts": { "max-size": "20m", "max-file": "3" }
}
sudo systemctl restart docker

자세한 내용은 컨테이너 로그를 참고하세요.

차지하는 공간

Docker 자체는 약 500 MB이고, 이미지와 볼륨이 여기서부터 늘어납니다. 디스크 40 GB인 VDS-1에서는 서비스 두세 개가 들어가지만 공간을 계속 지켜봐야 합니다. 디스크 공간을 참고하세요.

흔한 실수

  • docker.io와 docker-ce를 섞었습니다. 먼저 sudo apt remove docker.io docker-compose를 실행한 다음 공식 저장소에서 설치하세요.
  • Docker가 방화벽을 우회해 포트를 열었습니다. Docker는 자체 iptables 규칙을 작성하고 ufw는 이를 보지 못합니다. 외부에 노출할 필요가 없다면 로컬 인터페이스에 포트를 게시하세요 — -p 127.0.0.1:8080:80. 자세한 내용은 Docker 네트워킹을 참고하세요.
  • AlmaLinux에서 systemctl에 --now를 빠뜨렸습니다. 서비스가 활성화만 되고 시작되지 않은 상태입니다. 재부팅하면 동작하지만 지금은 아닙니다.

다음: Docker Compose와 볼륨.