Ubuntu에서 Docker를 설치하고, sudo 없이 편리하게 사용하는 방법까지 단계별로 안내합니다. 기존 패키지 제거, GPG 키 등록, 저장소 설정, 서비스 실행 등 핵심 과정을 모두 포함합니다.
Ubuntu에 Docker 설치 및 sudo 없이 사용하기
목차
1. 기존 Docker 패키지 제거
기존 시스템에 설치된 구버전 Docker 관련 패키지를 제거합니다.
for pkg in \
docker.io \
docker-doc \
docker-compose \
docker-compose-v2 \
podman-docker \
containerd \
runc
do
sudo apt remove "$pkg"
done
필요한 경우, 남아 있는 Docker 데이터도 완전히 삭제할 수 있습니다.
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
2. Docker GPG 키 추가
Ubuntu에서 소프트웨어를 설치할 때는 해당 패키지가 신뢰할 수 있는 출처인지 확인하는 과정이 필요합니다.
이를 위해 GPG(GNU Privacy Guard)라는 보안 키를 사용합니다.
Docker는 자체 GPG 키를 제공하며, 이 키를 시스템에 등록해야 공식 저장소에서 패키지를 안전하게 설치할 수 있습니다.
sudo apt update
sudo apt install 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
3. Docker 저장소 추가
Ubuntu 기본 저장소에는 Docker의 구버전만 포함되어 있는 경우가 많기 때문에, 최신 버전을 설치하려면 Docker의 공식 저장소를 따로 등록해야 합니다.
이렇게 하면 이후 apt install 명령으로도 Docker의 최신 버전을 설치하고 유지관리할 수 있습니다.
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
sudo apt update
4. Docker 설치 및 테스트
Docker와 함께 필요한 구성 요소들을 설치합니다.
이 명령어 하나로 대부분의 기능이 포함된 Docker 환경을 구축할 수 있습니다.
sudo apt install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
설치가 완료되면 아래 테스트 명령어를 통해 Docker가 정상적으로 동작하는지 확인합니다.
sudo docker run hello-world
5. Docker 서비스 활성화
Docker는 서비스(데몬)로 동작하기 때문에 시스템이 부팅될 때 자동으로 시작되도록 설정하는 것이 좋습니다.
아래 명령어로 자동 시작을 설정할 수 있습니다.
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
1.참고: 서비스 비활성화
sudo systemctl disable docker.service
sudo systemctl disable containerd.service
Docker를 즉시 시작하려면 다음 명령어도 함께 사용할 수 있습니다.
sudo systemctl enable --now docker
6. sudo 없이 Docker 사용하기
기본적으로 Docker 명령어를 사용할 때마다 sudo를 붙여야 합니다. 하지만 매번 입력하는 것은 번거롭기 때문에,
현재 사용자를 docker 그룹에 추가하면 sudo 없이도 Docker를 사용할 수 있습니다.
#usermod : 사용자 계정 정보를 변경하는 명령어
#-aG : 기존 그룹을 유지하면서 (-a) 사용자를 새 그룹(-G docker)에 추가
#docker 설치시 docker 그룹이 생성됨, 필요시 docker 그룹추가
sudo usermod -aG docker $USER
#docker 그룹을 추가한 후, 로그아웃하지 않고 변경 사항을 즉시 적용
#newgrp : 현재 세션에서 특정 그룹 권한을 즉시 적용
newgrp docker
7. Docker 업그레이드 및 제거
◆ Docker 업그레이
Docker는 일반 패키지처럼 아래 명령어로 최신 버전으로 업데이트할 수 있습니다.
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
◆ Docker 완전 제거
- 이 명령어들은 Docker 프로그램뿐 아니라 관련 설정 파일과 저장소 정보까지 모두 삭제합니다.
sudo apt purge docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.asc
Ubuntu에서 Docker를 설치하고, sudo 없이 사용할 수 있도록 설정하는 방법까지 전 과정을 정리해 보았습니다.
Docker는 가상 머신보다 가볍고 빠르기 때문에 개발과 배포 환경 구성에 매우 유용한 도구입니다.
관련 글 링크
Ubuntu
Jumpstart your client-side server applications with Docker Engine on Ubuntu. This guide details prerequisites and multiple methods to install Docker Engine on Ubuntu.
docs.docker.com
Post-installation steps
Find the recommended Docker Engine post-installation steps for Linux users, including how to run Docker as a non-root user and more.
docs.docker.com
'1.시스템&인프라 > Docker' 카테고리의 다른 글
5.실무에서 자주 쓰는 Docker 명령어 정리(예제 + 설명) (0) | 2025.03.27 |
---|---|
4.Docker와 방화벽(UFW, firewalld) 설정 시 주의사항과 해결 방법 (0) | 2025.03.27 |
2.Docker 개념과 아키텍처 정리: VM과 비교 (0) | 2025.03.27 |
1.가상화 개요 – 하이퍼바이저 vs 컨테이너 차이 (0) | 2025.03.27 |