卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
Docker 默认安装
$ yum -y install docker # 默认安装最新版本
Docker安装指定版本
安装所需软件包
yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
使用yum-config-manager 添加docker仓库
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
执行以下命令,列出 docker 所有可用版本
$ yum list docker-ce --showduplicates | sort -r
根据自己选择特定版本号的docker安装
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
例如:
sudo yum install docker-ce-18.09.9 docker-ce-cli-18.09.9 containerd.io -y
启动 Docker 并且配置 开机自启动
$ sudo systemctl start docker
$ sudo systemctl enable docker
配置阿里云镜像加速
自行注册阿里云账号,获取自己的镜像加速地址:https://cr.console.aliyun.com/cn-hongkong/instances/mirrors
解决普通用户(非root)无权限使用docker命令问题
docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,需要root权限才能访问。为了方便普通用户每次执行docker不需要加sudo,我们可以用以下方法给普通用户授权:
docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令。
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
newgrp docker #更新用户组
docker ps #测试docker命令是否可以使用sudo正常使用
结束语
Centos7 安装 Docker 就此完成,感谢支持!