기존 Docker 제거
이전 버전의 Docker가 이미 서버에 존재하는 경우에만 필요한 가이드입니다.
업그레이드되는 기능과 충돌을 피하기 위하여 기존 apt로 설치된 패키지를 반드시(MUST) 모두 제거해야 합니다.
sudo apt remove docker.io docker-doc docker-compose podman-docker containerd runc
기존 Docker를 제거하는 이유는 버전 충돌과 종속성 문제를 방지하기 위해서입니다. 여러 Linux 배포판에서 Docker 패키지를 제공하고 있지만, 일반적으로 Docker 공식 소스가 아닌 배포판 자체의 패키지 관리자를 통해 설치된 버전입니다.
이러한 패키지는 각 배포판의 패키지 유지 관리자가 빌드하고 유지 관리하기 때문에 Docker의 구성이 변경되거나 수정된 소스 코드에서 빌드될 수 있습니다. 이러한 차이는 Docker에서 설치하고자 하는 공식 버전과 기능이 호환되지 않거나 충돌을 일으킬 가능성이 있습니다.
기존 Docker의 모든 파일을 제거하는 경우 아래 명령어를 추가로 실행할 수 있습니다(MAY).
# 기존 Docker의 내용을 모두 제거하고 싶은 경우 추가로 실행
sudo rm -rf /var/lib/docker /var/lib/containerd
저장소를 이용하여 Docker 설치
저장소 추가
Docker를 설치하기 위한 저장소를 반드시(MUST) 추가합니다.
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/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 > /dev/null
sudo apt update
Docker 설치
sudo apt install docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
Docker와 Docker compose가 함께 설치됩니다.
빠른 Docker 설치
위 과정이 모두 포함되어 있는 스크립트를 바로 사용할 수 있습니다(OPTIONAL).
# 기존 Docker를 제거하기 위한 스크립트입니다.
# ~/.docker 폴더와 ~/bin 폴더가 함께 삭제됩니다.
curl docker.192.168.0.200/deb/remove | bash
# Docker 설치를 위한 스크힙트입니다.
curl docker.192.168.0.200/deb/install | bash
Docker 설치 확인
hello-world 이미지로 Docker의 정상 동작을 확인할 수 있습니다(OPTIONAL).
sudo docker run hello-world
sudo docker ps -a -q -f "ancestor=hello-world" | \
xargs docker rm
Docker를 사용자 모드에서 실행
Docker를 sudo 명령 없이 사용자 모드에서 실행할 수(MAY) 있습니다. 이 과정은 Docker의 업그레이드 또는 재설치가 필요하지 않습니다.
sudo usermod -aG docker $USER
sudo systemctl restart docker # Docker 재실행
현재 사용자 계정을 docker
그룹에 추가하여 Docker를 실행할 수 있는 권한을 만듭니다. Docker를 재실행하면 설정이 완료됩니다.
이후 Docker가 사용자 모드에서 정상적으로 동작하는지 확인하고 싶은 경우 현재 사용 중인 세션을 종료하고 다시 로그인하는 것을 권장합니다(SHOULD).
또는 아래 명령으로 현재 세션을 갱신할 수 있습니다. 이 경우 변경된 설정을 사용자 계정에 바로 적용할 수 있습니다.
newgrp docker

INAS의 블LOG에 오신 것을 환영합니다