Docker는 앱과 그것에 필요한 모든 것을 어디서든 동일하게 실행되는 컨테이너로 패키징합니다 — VPS에서 서비스를 셀프 호스팅하는 가장 깔끔한 방법입니다. Ubuntu와 Debian에서 유일한 함정은 배포판 자체 저장소의 버전이 종종 오래되었고 현대적인 Compose 플러그인 없이 제공된다는 점입니다. 대신 Docker 공식 저장소에서 설치하세요. 전체 과정은 다음과 같습니다.
1. Docker 공식 저장소 설정 (Ubuntu)
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/ubuntu/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/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2. Docker Engine과 Compose 설치
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3. 실행 중이며 부팅 시 활성화되는지 확인
sudo systemctl enable --now docker
sudo docker run --rm hello-world
hello-world 컨테이너가 다운로드되어 성공 메시지를 출력하고 종료됩니다 — 엔진이 작동한다는 증거입니다.
4. (선택) sudo 없이 Docker 실행
sudo usermod -aG docker $USER
# 그룹 적용을 위해 로그아웃 후 다시 로그인
신뢰하는 사용자에게만 이렇게 하세요 — docker 그룹 접근은 사실상 호스트에서 root와 같습니다.
실제 컨테이너 간단 실행
docker run -d --restart unless-stopped -p 8080:80 --name web nginx
# http://YOUR.SERVER.IP:8080 방문
--restart unless-stopped가 재부팅 후에도 컨테이너가 돌아오게 만드는 부분입니다.
솔직한 주의
- 최신 버전을 위해 공식 저장소를 사용하세요. 배포판의
docker.io패키지는 뒤처져 있고 Compose 플러그인이 없습니다. - 공개하는 포트만 여세요. 컨테이너의
-p 8080:80은 8080을 노출합니다 — Docker와 UFW 방화벽을 함께 사용하세요. - Docker 자체가 아니라 컨테이너에 맞춰 서버 크기를 정하세요 — Docker는 가볍습니다.
다음 단계
Docker를 설치하면 거의 모든 것을 셀프 호스팅할 수 있습니다. 하나의 IP 뒤에서 여러 서비스 셀프 호스팅하기를 참고하거나, RustDesk 원격 데스크톱 서버와 Uptime Kuma 모니터링 같은 구체적인 Docker 구축 사례를 확인하세요. 도메인과 HTTPS를 앞에 두려면 nginx 리버스 프록시 설정 방법을 참고하세요.
댓글
아직 댓글이 없습니다. 첫 번째가 되세요.