docker는 이전 버전과의 하위 호환을 지원하지 않기 때문에 이전 버전을 확인하고 삭제해주어야 한다.
apt list docker{,-engine,.io} containerd runc
docker{,-engine,.io}, containerd, runc 세 가지에 대해 시스템에 설치 여부를 확인한다.
root@Ubuntu1804:~# apt list docker{,-engine,.io} containerd runc
리스팅... 완료
containerd/bionic-updates 1.6.12-0ubuntu1~18.04.1 arm64
docker/bionic 1.5-1build1 arm64
docker.io/bionic-updates 20.10.21-0ubuntu1~18.04.2 arm64
runc/bionic-updates 1.1.4-0ubuntu1~18.04.1 arm64
[installed]
되어 있는게 있다면 sudo apt-get remove docker docker-engine docker.io containerd runc
명령을 통해서 삭제를 진행한다.
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] 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 update
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
설치 후 프로세스 실행 여부 확인
root@Ubuntu1804:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-05-22 16:48:22 KST; 41s ago
Docs: https://docs.docker.com
Main PID: 15148 (dockerd)
Tasks: 11
CGroup: /system.slice/docker.service
└─15148 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
docker가 정상적으로 실행되는지 확인
sudo docker run hello-world
root@Ubuntu1804:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
134343a6f2ec ubuntu "bash" 28 seconds ago Exited (127) 14 seconds ago thirsty_faraday
8e127241cda0 hello-world "/hello" 2 minutes ago Exited (0) 2 minutes ago goofy_allen