第一步:更新apt
sudo aot-get update
第二步:检查一下看有没有安装过docker之后残留的文件,如果没有安装过docker这一步就不需要执行
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
添加docker官方秘钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
验证您现在是否拥有带有指纹的密钥
sudo apt-key fingerprint 0EBFCD88
root@zys-virtual-machine:~# sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ 未知 ] Docker Release (CE deb)
sub rsa4096 2017-02-22 [S]
root@zys-virtual-machine:~#
设置拉去的稳定仓库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
再次更新一下apt包
sudo apt-get update
安装最新版的docker Engine-Community 和 containerd
安装最新版Docker CE(社区版)
sudo apt-get install docker-ce
检查是否安装正确
sudo docker run hello-world
sudo apt-get install docker-ce docker-ce-cli containerd.io
如果报错 进行下面操作
错误信息
/etc/apt/sources.list:58 中被配置了多次
W: 目标 DEP-11-icons-small (multiverse/dep11/icons-48x48.tar) 在 /etc/apt/sources.list:36 和 /etc/apt/sources.list:58 中被配置了多次
W: 目标 DEP-11-icons (multiverse/dep11/icons-64x64.tar) 在 /etc/apt/sources.list:36 和 /etc/apt/sources.list:58 中被配置了多次
W: 目标 CNF (multiverse/cnf/Commands-amd64) 在 /etc/apt/sources.list:36 和 /etc/apt/sources.list:58 中被配置了多次
W: 目标 CNF (multiverse/cnf/Commands-all) 在 /etc/apt/sources.list:36 和 /etc/apt/sources.list:58 中被配置了多次
解决方案:
首先删除source.list.d文件夹
sudo rm -r /etc/apt/sources.list.d/
把source.list的内容删除
sudo vim /etc/apt/sources.list
复制进去 这里使用的清华源 根据自己需求选择
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
更新一下
sudo apt-get update
再进行安装
sudo apt-get install docker-ce docker-ce-cli containerd.io
运行错误:
dpkg: 处理软件包 docker-ce (--configure)时出错:
已安装 docker-ce 软件包 post-installation 脚本 子进程返回错误状态 1
正在处理用于 libc-bin (2.31-0ubuntu9) 的触发器 ...
正在处理用于 systemd (237-3ubuntu10.41) 的触发器 ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
正在处理用于 ureadahead (0.100.0-21) 的触发器 ...
在处理时有错误发生:
docker-ce
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@zys-virtual-machine:~# sudo docker run hello-world
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
root@zys-virtual-machine:~# docker -v
Docker version 19.03.11, build 42e35e61f3
root@zys-virtual-machine:~#
docker完全卸载
删除某软件,及其安装时自动安装的所有包
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
删除docker其他没有没有卸载
dpkg -l | grep docker
卸载没有删除的docker相关插件(结合自己电脑的实际情况)
sudo apt-get autoremove docker-ce-*
删除docker的相关配置&目录
sudo rm -rf /etc/systemd/system/docker.service.d
sudo rm -rf /var/lib/docker
.确定docker卸载完毕
docker --version
然后重新安装一下就行
安装完成之后运行docker
# 启动Docker服务
sudo service docker start
# 关闭Docker服务
sudo service docker stop
错误又来了
在使用sudo service docker start 启动的时候报错,
错误信息
Job for docker.socket failed.
See "systemctl status docker.socket" and "journalctl -xe" for details.
A dependency job for docker.service failed. See 'journalctl -xe' for details.
输入一下命令查看错误原因
systemctl status docker.service
关闭docker 正常关闭
service docker stop
再次运行docker
service docker start 成功