解决dockers无法启动

记录一下 折腾了一天  一台服务器跑代码崩了 重启后,dockers无法使用, 启动docker 报 

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details

查看相关问题

 docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: failed (Result: start-limit-hit) since 一 2020-04-27 18:47:21 CST; 5min ago
     Docs: https://docs.docker.com
  Process: 7356 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=2)
 Main PID: 7356 (code=exited, status=2)

 systemd[1]: Failed to start Docker Application Container Engine.
 systemd[1]: docker.service: Unit entered failed state.
 systemd[1]: docker.service: Failed with result 'exit-code'.
 systemd[1]: docker.service: Service hold-off time over, scheduling restart.
 systemd[1]: Stopped Docker Application Container Engine.
 systemd[1]: docker.service: Start request repeated too quickly.
 systemd[1]: Failed to start Docker Application Container Engine.
 systemd[1]: docker.service: Unit entered failed state.
 systemd[1]: docker.service: Failed with result 'start-limit-hit'

sudo vim /lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H fd:// 

看了其他几台的配置,默认就是读取该位置  

改为 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

后 sudo systemctl daemon-reload  sudo systemctl start docker

报如下问题 

   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: activating (start) since 一 2020-04-27 18:58:19 CST; 307ms ago
     Docs: https://docs.docker.com
 Main PID: 8479 (dockerd)
    Tasks: 45
   Memory: 37.6M
      CPU: 439ms
   CGroup: /system.slice/docker.service
           ├─8479 /usr/bin/dockerd -H unix:///var/run/docker.sock
           ├─8567 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8883 -container-ip 172.17.0.2 -container-port 8888
           └─8582 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 6007 -container-ip 172.17.0.2 -container-port 6007

4月 27 18:58:19 k8s-GVWF48-master dockerd[8479]: time="2020-04-27T18:58:19.786261312+08:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
4月 27 18:58:19 k8s-GVWF48-master dockerd[8479]: time="2020-04-27T18:58:19.786334663+08:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc4201d41a0, CONNECTING" module=grpc
4月 27 18:58:19 k8s-GVWF48-master dockerd[8479]: time="2020-04-27T18:58:19.786461206+08:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc4200d3a30, READY" module=grpc
4月 27 18:58:19 k8s-GVWF48-master dockerd[8479]: time="2020-04-27T18:58:19.786539867+08:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc4201d41a0, READY" module=grpc
4月 27 18:58:19 k8s-GVWF48-master dockerd[8479]: time="2020-04-27T18:58:19.790487639+08:00" level=info msg="[graphdriver] using prior storage driver: overlay2"
4月 27 18:58:19 k8s-GVWF48-master dockerd[8479]: time="2020-04-27T18:58:19.844732996+08:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"
4月 27 18:58:19 k8s-GVWF48-master dockerd[8479]: time="2020-04-27T18:58:19.845157944+08:00" level=warning msg="Your kernel does not support swap memory limit"
4月 27 18:58:19 k8s-GVWF48-master dockerd[8479]: time="2020-04-27T18:58:19.845237839+08:00" level=warning msg="Your kernel does not support cgroup rt period"
4月 27 18:58:19 k8s-GVWF48-master dockerd[8479]: time="2020-04-27T18:58:19.845256923+08:00" level=warning msg="Your kernel does not support cgroup rt runtime"
4月 27 18:58:19 k8s-GVWF48-master dockerd[8479]: time="2020-04-27T18:58:19.846423265+08:00" level=info msg="Loading containers: start."

尝试了很多办法

最后 还是改 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/var/run/docker.sock 后 启动后 

把8883 端口的容器干 

再把 改为 ExecStart=/usr/bin/dockerd -H fd:// 

sudo systemctl daemon-reload  sudo systemctl start docker 重启后 正常

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要设置 Docker 在开机时自动启动,可以按照以下步骤操作: 1. 首先,确保 Docker 已经安装在你的系统上。如果还没有安装,请根据你的操作系统类型(如 Linux、Windows 或 macOS)参考 Docker 官方文档进行安装。 2. 对于 Linux 系统,可以使用 `systemd` 来配置 Docker 的自动启动。打开终端并输入以下命令以创建一个名为 `docker.service` 的服务单元文件: ``` sudo vi /etc/systemd/system/docker.service ``` 3. 在打开的文件中,输入以下内容: ``` [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target docker.socket Wants=network-online.target [Service] Type=notify ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=0 RestartSec=2 Restart=always [Install] WantedBy=multi-user.target ``` 4. 保存并关闭文件。然后重新加载 systemd 配置: ``` sudo systemctl daemon-reload ``` 5. 启动 Docker 服务: ``` sudo systemctl start docker ``` 6. 验证 Docker 是否已经启动: ``` sudo systemctl status docker ``` 如果输出中显示 "active (running)",则表示 Docker 已经成功启动。 7. 最后,将 Docker 服务设置为开机自启动: ``` sudo systemctl enable docker ``` 现在,Docker 将在系统启动时自动启动。你可以重新启动系统来验证它是否正常工作。 请注意,上述步骤适用于大多数 Linux 发行版。对于其他操作系统,请参考相关文档进行设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值