Docker 엔진은 containerd및 에 의존합니다 runc. Docker 엔진은 이러한 종속성을 하나의 번들로 묶습니다 containerd.io. containerd또는 이전에 설치한 경우 runcDocker 엔진과 함께 번들로 제공되는 버전과의 충돌을 방지하려면 제거 해야 합니다
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
docker container rm -f $(docker container ls -aq)
docker image rm -f $(docker image ls -f reference='diamol/*' -q)
sudo apt-ger update // 업데이트
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
apt-transport-https : APT가 HTTPS를 통해 안전하게 패키지를 다운로드하고 설치할 수 있도록 해주는 도구
ca-certificates : 시스템에서 사용하는 인증서를 관리
curl : 명령 줄에서 URL을 통해 데이터를 전송하는 도구
gnupg-agent : GNU Privacy Guard(GPG)와 관련된 암호화 기능을 사용하기 위한 도구
software-properties-common : 소프트웨어 저장소를 관리하기 위한 공통 소프트웨어 속성 패키지
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
curl : URL을 사용하여 데이터를 가져오는 명령줄 도구입니다.
-fsSL : curl 명령에 대한 옵션입니다. -fsSL 옵션은 응답을 묵시적으로 다운로드하여 파일 시스템에 저장하지 않고, 오류 메시지를 출력하지 않고, 진행률 표시기를 숨깁니다.
https://download.docker.com/linux/ubuntu/gpg : Docker 공식 다운로드 서버에서 Docker의 GPG 키를 제공하는 URL입니다.
| : 파이프라인(pipe) 연산자는 curl로 가져온 데이터를 다음 명령어로 전달합니다.
sudo apt-key add - : - 옵션은 apt-key 명령에 GPG 키를 표준 입력(stdin)으로 전달하여 키를 시스템에 추가하라는 것을 나타냅니다.
sudo apt-key fingerprint 0EBFCD88
본인이 받은 키에 맞게 작성
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable"
해당 명령어는 add-apt-repository를 사용하여 Docker의 공식 레포지토리를 시스템에 추가합니다. 이를 통해 Ubuntu 패키지 관리자가 Docker를 설치하고 업데이트할 때 해당 레포지토리에서 패키지를 가져올 수 있습니다. 올바른 레포지토리를 추가함으로써 Docker 패키지를 쉽게 설치하고 유지 관리할 수 있습니다.
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo : 슈퍼유저 권한으로 명령어를 실행합니다.
apt-get : Debian 계열 리눅스에서 패키지를 설치하고 관리하기 위한 명령어입니다.
update : APT 패키지 목록을 업데이트하는 데 사용되는 서브 명령어입니다.
sudo : 슈퍼유저 권한으로 명령어를 실행합니다.
apt-get : Debian 계열 리눅스에서 패키지를 설치하고 관리하기 위한 명령어입니다.
install : 패키지를 설치하는 데 사용되는 서브 명령어입니다.
docker-ce, docker-ce-cli, containerd.io : Docker 엔진, CLI 도구, 컨테이너 런타임과 관련된 패키지 이름입니다.
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
curl : URL을 사용하여 데이터를 전송하고 받는데 사용되는 명령어입니다.
-L : 서버의 리다이렉트를 따르도록 하는 옵션입니다.
"https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" : Docker Compose의 다운로드 URL입니다. $(uname -s)-$(uname -m) 부분은 현재 운영체제와 아키텍처에 맞는 바이너리를 다운로드하기 위해 사용됩니다.
-o /usr/local/bin/docker-compose : 다운로드한 파일을 /usr/local/bin 디렉토리에 docker-compose라는 이름으로 저장하는 옵션입니다.
chmod : 파일이나 디렉토리의 권한을 변경하는 명령어입니다.
+x : 실행 권한을 추가하는 옵션입니다.
/usr/local/bin/docker-compose : 실행 권한을 추가할 대상 파일의 경로입니다.