一. 环境准备
首先我们需要一台Ubuntu16.04 虚拟机或者真机,其次,我们对其进行环境配置。
- 先判断当前的Ubantu16.04系统中是否已经安装过curl和docker
如果有安装过如下图所示,没安装过则输入命令没有任何输出# 查询是否安装过 curl which curl # 查询是否安装过 docker which docker
- 如果之前安装过docker,需要完全卸载docker
# 1. 删除软件以及安装时自动安装的所有包 sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc -y # 2. 查看docker中其他没有卸载的包 dpkg -l | grep docker # 3. 卸载没有删除的docker相关插件 sudo apt remove --purge docker-ce -y sudo apt-get autoremove docker-ce-* -y # 4. 删除docker的相关配置&目录 sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd sudo rm -rf /var/run/docker* # 5. 确认docker卸载完毕 docker --version which docker
- 更新apt软件包索引并安装软件包以允许apt通过HTTPS使用存储库
# 先更新一下软件源库信息 sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release \ software-properties-common
- 添加Docker的官方GPG密钥并配置稳定的仓库
!!! 官方仓库 # 添加 Docker 官方的 GPG 密钥(为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥) curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # 设置稳定版本的apt仓库地址 sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
二、安装docker
详情请看官方文档:Docker官方安装文档
方法一:使用存储库apt-get进行安装
- 安装最新版本的docker
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io -y # 安装最新版的docker
- 如果需要安装指定版本的,使用以下命令
apt-cache madison docker-ce # 查看可安装的版本 sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
方法二:使用便捷脚本进行安装
- 本示例从get.docker.com下载脚本 并运行以在Linux上安装Docker的最新稳定版本:
判断docker是否安装成功# 方法一(官方) curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # 方法二(博主亲测) curl -fsSL https://get.docker.com/ | sh
docker --version
三、添加访问权限
- 这个时候运行docker时会出现下图所示的报错
- 看一下权限
可以看到 docker.sock 的所有者是 docker 这个组。所以我们要把当前用户添加到这个组里。cd /var/run ll | grep docker # 输出如下 drwx------ 5 root root 120 5月 27 13:23 docker/ -rw-r--r-- 1 root root 4 5月 27 13:23 docker.pid srw-rw---- 1 root docker 0 5月 27 13:21 docker.sock=
重启docker# 将当前用户添加到docker用户组中 sudo gpasswd -a ${USER} docker
切换当前会话到新组sudo service docker restart
注意:最后一步是必须的,因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker ps 执行时同样有错newgrp - docker
四、运行效果图
总结
- 一开始因为用户不在docker.sock的所有者组中,然后以为是报错问题。最后查看多个文档才发现,只是权限问题。
- 经过测试,无论用哪种方法安装完docker之后,最好重启系统一次。让docker的配置文件进行配置
- 目前安装以及卸载的完整教程就是以上的内容,所有内容都经博主亲测。