在CentOS7 中安装docker的一个坑

admin 2020-7-20 13624

这几天需要用docker上跑一个系统,让网管给准备了一个虚拟机,安装了CentOS最小模式。然后按照:

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-centos-7

的方法安装。

安装也可以参考:

https://www.jianshu.com/p/3a4cd73e3272

https://github.com/NaturalHistoryMuseum/scratchpads2/wiki/Install-Docker-and-Docker-Compose-(Centos-7)

安装后怎么启动都不成功,启动及报错信息如下:

[BI@localhost ~]$ sudo systemctl start docker
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
[BI@localhost ~]$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since 一 2020-07-20 09:42:44 CST; 2s ago
     Docs: https://docs.docker.com
  Process: 5607 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
 Main PID: 5607 (code=exited, status=1/FAILURE)
7月 20 09:42:42 localhost.localdomain systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
7月 20 09:42:42 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
7月 20 09:42:42 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
7月 20 09:42:42 localhost.localdomain systemd[1]: docker.service failed.
7月 20 09:42:44 localhost.localdomain systemd[1]: docker.service holdoff time over, scheduling restart.
7月 20 09:42:44 localhost.localdomain systemd[1]: Stopped Docker Application Container Engine.
7月 20 09:42:44 localhost.localdomain systemd[1]: start request repeated too quickly for docker.service
7月 20 09:42:44 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
7月 20 09:42:44 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
7月 20 09:42:44 localhost.localdomain systemd[1]: docker.service failed.

之前一直纠结在查“Failed to start Docker Application Container Engine.”这个错误信息上。实在找不到能填这个坑的资料。

今天想起来直接用 dockerd 启动一下:

[BI@localhost ~]$ sudo dockerd
INFO[2020-07-20T09:44:04.314580228+08:00] Starting up
INFO[2020-07-20T09:44:04.317114086+08:00] parsed scheme: "unix"                         module=grpc
INFO[2020-07-20T09:44:04.317135153+08:00] scheme "unix" not registered, fallback to default scheme  module=grpc
INFO[2020-07-20T09:44:04.317160451+08:00] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock 0  <nil>}] <nil>}  module=grpc
INFO[2020-07-20T09:44:04.317170666+08:00] ClientConn switching balancer to "pick_first"  module=grpc
INFO[2020-07-20T09:44:04.319120792+08:00] parsed scheme: "unix"                         module=grpc
INFO[2020-07-20T09:44:04.319141272+08:00] scheme "unix" not registered, fallback to default scheme  module=grpc
INFO[2020-07-20T09:44:04.319154955+08:00] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock 0  <nil>}] <nil>}  module=grpc
INFO[2020-07-20T09:44:04.319162407+08:00] ClientConn switching balancer to "pick_first"  module=grpc
WARN[2020-07-20T09:44:04.324095041+08:00] Usage of loopback devices is strongly discouraged for production use. Please use `--storage-opt dm.thinpooldev` or use `man dockerd` to refer to dm.thinpooldev section.  storage-driver=devicemapper
INFO[2020-07-20T09:44:04.537821177+08:00] Creating filesystem xfs on device docker-253:1-204612859-base, mkfs args: [-m crc=0,finobt=0 /dev/mapper/docker-253:1-204612859-base]  storage-driver=devicemapper
INFO[2020-07-20T09:44:04.541272206+08:00] Error while creating filesystem xfs on device docker-253:1-204612859-base: exit status 1  storage-driver=devicemapper
ERRO[2020-07-20T09:44:04.541294622+08:00] [graphdriver] prior storage driver devicemapper failed: exit status 1
failed to start daemon: error initializing graphdriver: exit status 1

这下好了,出错原因比较明确了:

Error while creating filesystem xfs on device docker-253:1-204612859-base: exit status 1  storage-driver=devicemapper


根据这个信息google了一把,可能是因为XFS文件系统管理工具的版本太低,使用如下命令升级:

[BI@localhost ~]$ sudo  yum update xfsprogs -y

重启操作系统,然后发现世界是如此美好:

[BI@localhost ~]$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES




最新回复 (0)
返回