【docker】docker启动失败报错

docker启动失败报错

failed to start daemon: failed to dial “/run/containerd/containerd.sock”: unknown service containerd.services.namespaces.v1.Namespaces: not implemented


root@node01:~# systemctl daemon-reload
^[[Aroot@node01:~# systemctl start docker.service
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xeu docker.service" for details.
root@node01:~# systemctl status docker.service
× docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Fri 2023-02-24 00:21:03 CST; 1s ago
TriggeredBy: × docker.socket
       Docs: https://docs.docker.com
    Process: 1784 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
   Main PID: 1784 (code=exited, status=1/FAILURE)
        CPU: 196ms

224 00:21:03 node01 systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
224 00:21:03 node01 systemd[1]: Stopped Docker Application Container Engine.
224 00:21:03 node01 systemd[1]: docker.service: Start request repeated too quickly.
224 00:21:03 node01 systemd[1]: docker.service: Failed with result 'exit-code'.
224 00:21:03 node01 systemd[1]: Failed to start Docker Application Container Engine.
root@node01:~# vi /etc/fstab
root@node01:~# docker ps -a
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
root@node01:~# systemctl restart docker
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xeu docker.service" for details.
root@node01:~# journalctl -xeu docker.service
░░ 结果为“failed”。
224 00:25:27 node01 systemd[1]: docker.service: Scheduled restart job, restart counter is at 2.
░░ Subject: Automatic restarting of a unit has been scheduled
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ Automatic restarting of the unit docker.service has been scheduled, as the result for
░░ the configured Restart= setting for the unit.
224 00:25:27 node01 systemd[1]: Stopped Docker Application Container Engine.
░░ Subject: docker.service 单元已结束停止操作
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ docker.service 单元已结束停止操作。
224 00:25:27 node01 systemd[1]: Starting Docker Application Container Engine...
░░ Subject: docker.service 单元已开始启动
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ docker.service 单元已开始启动。
224 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.376308380+08:00" level=info msg="Starting up"
224 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.380746856+08:00" level=info msg="[core] [Channel #1] Channel created" module=grpc
224 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.380842076+08:00" level=info msg="[core] [Channel #1] original dial target is: \"unix:///run/containerd/containerd.sock\"" module=grpc
224 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.380953856+08:00" level=info msg="[core] [Channel #1] parsed dial target is: {Scheme:unix Authority: Endpoint:run/containerd/containerd.sock URL:{Scheme:unix Opaque: User: Host: Path:/run/containerd/containerd.sock RawPa>
2月 24 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.381007952+08:00" level=info msg="[core] [Channel #1] Channel authority set to \"localhost\"" module=grpc
224 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.381366200+08:00" level=info msg="[core] [Channel #1] Resolver state updated: {\n  \"Addresses\": [\n    {\n      \"Addr\": \"/run/containerd/containerd.sock\",\n      \"ServerName\": \"\",\n      \"Attributes\": {},\n  >
2月 24 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.381591956+08:00" level=info msg="[core] [Channel #1] Channel switches to new LB policy \"pick_first\"" module=grpc
224 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.381770948+08:00" level=info msg="[core] [Channel #1 SubChannel #2] Subchannel created" module=grpc
224 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.381901412+08:00" level=info msg="[core] [Channel #1 SubChannel #2] Subchannel Connectivity change to CONNECTING" module=grpc
224 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.381989384+08:00" level=info msg="[core] [Channel #1 SubChannel #2] Subchannel picks a new address \"/run/containerd/containerd.sock\" to connect" module=grpc
224 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.382026392+08:00" level=info msg="[core] [Channel #1] Channel Connectivity change to CONNECTING" module=grpc
224 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.382716872+08:00" level=info msg="[core] [Channel #1 SubChannel #2] Subchannel Connectivity change to READY" module=grpc
224 00:25:27 node01 dockerd[1881]: time="2023-02-24T00:25:27.382811852+08:00" level=info msg="[core] [Channel #1] Channel Connectivity change to READY" module=grpc
224 00:25:27 node01 dockerd[1881]: failed to start daemon: failed to dial "/run/containerd/containerd.sock": unknown service containerd.services.namespaces.v1.Namespaces: not implemented
224 00:25:27 node01 systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE

这里的错误原因是unknown service containerd.services.namespaces.v1.Namespaces: not implemented,解决办法为执行如下语句
systemctl stop containerd && systemctl start containerd && systemctl start docker.service

### 解决 Linux 环境下启动 Docker 容器报错 #### 检查 Dockerfile 配置 当使用自定义的 Dockerfile 构建镜像时,任何配置错误都可能导致容器无法正常启动。确保 Dockerfile 中不存在错误的环境变量设置或指令[^1]。 ```dockerfile FROM ubuntu:latest ENV PATH=/usr/local/bin:$PATH RUN apt-get update && \ apt-get install -y software-properties-common && \ add-apt-repository ppa:deadsnakes/ppa && \ apt-get update && \ apt-get install python3.8 -y CMD ["bash"] ``` #### 处理 `Failed to start Docker Application Container Engine` 错误 如果遇到此错误消息,在尝试重启服务失败后,应查看详细的日志信息来诊断具体原因。可以执行命令 `systemctl status docker.service` 和 `journalctl -xe` 来获取更多关于为什么控制进程退出的信息[^2]。 #### 修改 Docker 数据根目录路径 对于某些特定场景下的安装方式(例如通过 tar 包离线安装),可能需要调整 Docker 的数据存储位置以避免权限或其他系统级冲突。编辑 `/etc/docker/daemon.json` 文件,指定新的数据根目录,并重新加载服务: ```json { "data-root": "/home/deployer/docker/" } ``` 之后再次启用并立即启动 Docker 服务: ```shell systemctl enable docker --now ``` 然而需要注意的是,即使进行了上述更改,仍然有可能因为其他因素导致启动失败,此时同样建议查阅相关日志文件了解确切的原因[^3]。 #### 应对 Java 类找不到异常 针对由 Java 运行时引发的 `NoClassDefFoundError` 错误,特别是涉及图形界面组件的情况,这通常意味着缺少必要的依赖库或者是由于 X Window System 不可用所引起的。可以通过安装额外的支持包或者修改应用程序运行参数的方式来解决问题[^4]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值