使用daocloud的脚本安装docker

1
curl -sSL <https://get.daocloud.io/docker> | sh

安装成功的结果图

安装成功后遇到错误,无法使用命令

1
2
[root@cn2vps483 ~]# docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

使用dockerd前台方式启动dockerd,查看到如下错误日志

1
2
3
4
5
INFO[2022-04-29T06:35:31.667145087-04:00] Error while creating filesystem xfs on device docker-253:1-128804-base: exit status 1  storage-driver=devicemapper
WARN[2022-04-29T06:35:31.667457115-04:00] Failed to deactivatePool: Device is Busy      storage-driver=devicemapper
INFO[2022-04-29T06:35:31.668129310-04:00] stopping event stream following graceful shutdown  error="context canceled" module=libcontainerd namespace=plugins.moby
INFO[2022-04-29T06:35:31.668195278-04:00] stopping healthcheck following graceful shutdown  module=libcontainerd
failed to start daemon: error initializing graphdriver: exit status 1

参考 CentOS7安装docker启动报错Error while creating filesystem xfs on device docker-253:0-1052028-base: exit status 1 storage-driver=devicemappe - 韩晓萌 - 博客园

更新xfsprogs

1
yum update xfsprogs -y

依然无法启动docker,出现如下错误,初步判断是无法创建默认网桥

1
2
3
4
5
6
7
INFO[2022-04-29T06:36:45.668381529-04:00] Loading containers: start.
INFO[2022-04-29T06:36:46.075724928-04:00] Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address
WARN[2022-04-29T06:36:46.213532023-04:00] unmountAndDeactivate: open /var/lib/docker/devicemapper/mnt: no such file or directory  storage-driver=devicemapper
INFO[2022-04-29T06:36:46.239870956-04:00] stopping event stream following graceful shutdown  error="context canceled" module=libcontainerd namespace=moby
INFO[2022-04-29T06:36:46.239977339-04:00] stopping healthcheck following graceful shutdown  module=libcontainerd
INFO[2022-04-29T06:36:46.240076150-04:00] stopping event stream following graceful shutdown  error="context canceled" module=libcontainerd namespace=plugins.moby
failed to start daemon: Error initializing network controller: Error creating default "bridge" network: Failed to program NAT chain: INVALID_ZONE: docker

使用 journalctl -xe 查看错误信息,创建默认网络转发失败,猜测可能是firewalld问题,使用 systemctl stop firewalld.service 关闭firewalld

启动docker成功

1
2
3
[root@cn2vps483 ~]# systemctl start docker
[root@cn2vps483 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES