php 제로보드-그누보드-아미나

도커 (1) 🐳 Ubuntu에서 Docker 설치: `docker.io` vs 공식 설치 완전 비교 + 실전 설치 방법

자무카 2025. 5. 27.

개발 환경 세팅

sudo apt update && sudo apt install -y
git curl zsh build-essential unzip htop
python3-pip python3-venv
php php-cli php-mysql
mariadb-server nginx

Proxmox VM에서 개발/배포 겸용 서버를 만들기 위해 Docker 환경을 구성하면서
docker.io와 Docker 공식 설치의 차이점,
그리고 어떤 방식이 더 실전에 맞는지 정리한 실전 가이드입니다.


✅ 요약 비교표

항목 docker.io (Ubuntu 기본) Docker 공식 설치
설치 명령 apt install docker.io `curl -fsSL get.docker.com
버전 구버전 (19.x~20.x) 최신 릴리즈 (23~24.x 이상)
Compose 지원 ❌ 별도 설치 필요 ✅ 내장 (docker compose)
기능 호환성 일부 제한 있음 ✅ 최신 Docker CLI 100% 호환
업데이트 속도 느림 (APT 기준) ✅ 빠름 (Docker 릴리즈와 동기화)
추천 용도 테스트/간단한 개발용 ✅ 실전 개발/운영/멀티앱 배포

❗ docker.io 설치 시 발생 가능한 충돌

The following packages have unmet dependencies:
 containerd.io : Conflicts: containerd

이 에러는 docker.io가 기본으로 설치한 containerd
Docker 공식 containerd.io 패키지가 충돌할 때 발생합니다.
→ 이 문제는 공식 설치 방식으로 갈아타면 말끔히 해결됩니다.


✅ Docker 공식 설치 절차 (Ubuntu 22.04 기준)

1. 기존 docker 관련 패키지 제거

sudo apt remove docker docker.io docker-doc docker-compose containerd runc

2. Docker 공식 저장소 등록

sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

sudo install -m 0755 -d /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

3. Docker 공식 패키지 설치

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

4. 현재 사용자에 Docker 권한 부여

sudo usermod -aG docker $USER
newgrp docker

5. Docker 및 Compose 정상 설치 확인

docker version
docker compose version

결과 예시:

Docker version 24.0.x, build abcdefg
Docker Compose version v2.22.x

📁 추천 Docker 앱 디렉토리 구조

sudo mkdir -p /srv/docker/{wordpress,xe3,youngcart,proxy}
sudo chown -R $USER:$USER /srv/docker

이 구조로 정리해두면 이후 각 앱을 docker-compose.yml로 관리하기 편합니다.


🎯 결론

  • docker.io는 간단하고 빠르지만, 버전이 낮고 최신 기능은 제한적입니다.
  • Docker 공식 설치는
    최신 CLI, Compose 내장, 업데이트 속도, 확장성 등
    실전 운영과 개발에서 훨씬 강력합니다.
  • Proxmox VM 하나에서 Remote-SSH 기반 개발/운영 통합을 하려면
    Docker 공식 설치가 정답입니다.

✍️ 작성자: kang
🗓️ 작성일: 2025-05-27 (Tue) 12:38
#Docker #Ubuntu #Proxmox #서버세팅 #RemoteSSH #DockerCompose #DevOps

댓글