[cloud@kwang9-web ~]$ uname -r
3.10.0-1160.53.1.el7.x86_64
[cloud@kwang9-web /]$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
较旧的 Docker 版本称为 docker 或 docker-engine 。
卸载旧版本命令
[cloud@kwang9-web ~]$ sudo yum remove docker \
> docker-client \
> docker-client-latest \
> docker-common \
> docker-latest \
> docker-latest-logrotate \
> docker-logrotate \
> docker-engine
Loaded plugins: fastestmirror
No Match for argument: docker
No Match for argument: docker-client
No Match for argument: docker-client-latest
No Match for argument: docker-common
No Match for argument: docker-latest
No Match for argument: docker-latest-logrotate
No Match for argument: docker-logrotate
No Match for argument: docker-engine
[cloud@kwang9-web /]$ sudo yum install -y yum-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Package yum-utils-1.1.31-54.el7_8.noarch already installed and latest version
Nothing to do
如果网络无法访问外网,可以使用下列命令来替换掉官方源地址。
使用以下命令来设置稳定的仓库。推荐阿里云的镜像
使用官方源地址(比较慢)
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
可以选择国内的一些源地址:
阿里云
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
清华大学源
$ sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
科大镜像:https://docker.mirrors.ustc.edu.cn/
阿里云:https://<你的ID>.mirror.aliyuncs.com
当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
阿里云镜像获取地址:
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
,登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址。我这里使用的是 狂神 在学习视频里提到的地址
CentOS7使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
{"registry-mirrors":["https://qiyb9988.mirror.aliyuncs.com"]}
之后重新启动服务:
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
安装前先更新下yum
[cloud@kwang9-web /]$ yum makecache fast
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base | 3.6 kB 00:00:00
epel | 2.9 kB 00:00:00
extras | 2.9 kB 00:00:00
puppet | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
查看当前yum下支持的docker版本
yum list docker-ce --showduplicates | sort -r
安装最新版本的 Docker Engine-Community 和 containerd命令
$ sudo yum install docker-ce docker-ce-cli containerd.io
安装特定版本:docker-ce-19.03.9-3.el7 (ps:ce 是指社区版,ee 企业版)
# 命令
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
$ sudo yum install docker-ce-19.03.8-3.el7 docker-ce-cli-19.03.8-3.el7 containerd.io
[cloud@kwang9-web /]$ sudo systemctl start docker
# 查看docker是否启动成功
[cloud@kwang9-web /]$ docker version
#通过运行 hello-world 镜像来验证是否正确安装了 Docker Engine-Community 。
[cloud@kwang9-web /]$ sudo docker run hello-world
重新启动服务:
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
Docker 配置为开机启动
[cloud@kwang9-web /]$ sudo systemctl enable docker.service
[cloud@kwang9-web /] $ sudo systemctl enable containerd.service
要禁用此行为,请disable改用。
$ sudo systemctl disable docker.service
$ sudo systemctl disable containerd.service
卸载依赖:
$ yum remove docker-ce docker-ce-cli containerd.io
删除镜像、容器、配置文件等目录:
ps: /var/lib/docker 是docker 默认的工作目录
$ rm -rf /var/lib/docker
下面的错误就是因为yum源不对,找不到docker 镜像。可以将yum仓库切换到aliyun
[cloud@kwang9-web /]$ yum list docker-ce --showduplicates | sort -r
Error: No matching Packages to list
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
[cloud@kwang9-web /]$ sudo yum install docker-ce-19.03.8-3.el7 docker-ce-cli-19.03.8-3.el7 containerd.io
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
No package docker-ce-19.03.8-3.el7 available.
No package docker-ce-cli-19.03.8-3.el7 available.
No package containerd.io available.
Error: Nothing to do
[cloud@kwang9-web /]$ docker images
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/json: dial unix /var/run/docker.sock: connect: permission denied
[cloud@kwang9-web /]$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest feb5d9fea6a5 11 months ago 13.3kB
1.要创建docker组并添加您的用户:
创建docker组。
$ sudo groupadd docker
2.将您的用户添加到docker组中。
$ sudo usermod -aG docker $USER
3.运行以下命令来激活对组的更改:
$ newgrp docker
4.验证您是否可以在docker没有sudo.
$ docker run hello-world
$ docker images
CentOS Docker 安装
以非 root 用户身份管理 Docker
狂神讲docker