Ubuntu에서 Docker Engine 설치하기
경고: Ubuntu에서 Docker를 설치할 때는
apt
를 사용하지 마세요. 아래 지침에 따라 Docker APT 저장소를 제대로 설정한 후 Docker를 설치하세요.
전제 조건
OS 요구 사항
Docker는 다음 버전의 Ubuntu를 지원합니다:
- Ubuntu Mantic 23.10
- Ubuntu Jammy 22.04 (LTS)
- Ubuntu Focal 20.04 (LTS)
Docker는 64비트 x86 플랫폼이나 ARM 플랫폼에서 설치할 수 있습니다. 프로덕션 환경에서는 5년 동안 보안 업데이트를 받는 Ubuntu LTS(Long-Term-Support) 릴리스를 사용하는 것이 좋습니다.
이전 버전 제거
이전 Docker 버전은 docker
또는 docker-engine
이라고 불렸습니다. 설치되어 있다면 먼저 제거하세요:
$ for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker; do sudo apt-get remove $pkg; done
또한 Docker Engine은 containerd와 runc에 의존하므로 충돌을 피하기 위해 이들도 제거하세요:
$ sudo apt-get remove containerd runc
APT 저장소를 사용하 여 설치
Docker의 apt 저장소 설정
apt
패키지 인덱스를 업데이트하고 apt
가 HTTPS를 통해 저장소를 사용할 수 있게 패키지를 설치합니다:
# Docker의 공식 GPG 키 추가:
sudo apt-get update
sudo apt-get 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
# Apt 소스에 저장소 추가:
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
sudo apt-get update
Ubuntu 파생 배포판(Linux Mint 등)을 사용한다면 VERSION_CODENAME 대신 UBUNTU_CODENAME을 사용해야 할 수 있습니다.
Docker 패키지 설치
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
편의 스크립트를 사용하여 설치
Docker는 설치 과정을 간소화하는 편의 스크립트를 제공합니다. 테스트 및 개발 환경에서 사용하는 편의 스크립트입니다. Ubuntu에서는 선택적으로 --mirror
플래그를 사용하여 미러 저장소에서 설치할 수 있습니다:
# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
# $ sudo sh get-docker.sh --mirror AzureChinaCloud
이 스크립트는 모든 전제 조건을 자동으로 처리하고 Docker의 최신 안정 버전을 설치합니다.
Docker 시작
$ sudo systemctl enable docker
$ sudo systemctl start docker
루트 사용자 아닌 사용자로 Docker 관리
기본적으로, docker
명령은 Unix 소켓을 통해 Docker 엔진과 통신합니다. root
와 docker
그룹의 사용자만 Unix 소켓에 접근할 수 있습니다.
루트가 아닌 사용자로 실행하려면, docker
그룹을 만들고 사용자를 그 그룹에 추가하세요:
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
로그아웃했다가 다시 로그인하면 변경 사항이 적용됩니다.
Docker 설치 테스트
$ docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
위 출력이 보인다면 Docker가 제대로 설치되었습니다.