Centos
卸载旧版本的Docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装Docker
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
下载特定版本的Docker
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin
如
yum install docker-ce-19.03.15-3.el7 docker-ce-cli-19.03.15-3.el7 containerd.io docker-compose-plugin
启动Docker,并设置开机启动
systemctl enable docker --now
查看状态
systemctl status docker
测试
docker run hello-world
卸载软件包
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
删除所有镜像,容器和卷
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
已编辑的配置文件需要手动删除
版本锁定
Centos锁定版本可使用yum versionlock命令实现:
yum install yum-plugin-versionlock.noarch
rpm -qa | grep docker
锁定docker版本
yum versionlock docker-*
查看锁定
yum versionlock list
yum versionlock status
删除锁定
yum versionlock delete docker-*
清除所有锁定
yum versionlock clear
锁定后的软件不会再被升级。
Ubuntu
卸载旧版本的Docker
sudo apt-get remove docker docker-engine docker.io containerd runc
设置存储库
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安装Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
下载特定版本的Docker
apt-cache madison docker-ce | awk '{ print $3 }'
VERSION_STRING=5:20.10.13~3-0~ubuntu-jammy
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-compose-plugin
查看状态
systemctl status docker -l
测试
sudo docker run hello-world
卸载软件包
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin
删除所有镜像,容器和卷
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
已编辑的配置文件需要手动删除
版本锁定
查询软件
dpkg -l | grep docker
apt list --installed | grep docker
锁定软件版本
apt-mark hold docker-ce docker-ce-cli
查看锁定
apt-mark showhold
解除锁定
apt-mark unhold docker-ce docker-ce-cli