简体   繁体   English

Dockerd 无法作为守护进程启动,并出现错误“exec:“docker-containerd”:$PATH 中找不到可执行文件”

[英]Dockerd can't start as daemon with error "exec: "docker-containerd": executable file not found in $PATH"

I can't start docker service -- docker 17.12.1 ce on sles12.4 --If anyone can show me what's wrong.我无法在 sles12.4 上启动 docker 服务 -- docker 17.12.1 ce -- 如果有人能告诉我出了什么问题。 It will be appreciated.将不胜感激。 I extracted docker-17.12.1-ce.tgz from download.docker.com and move all to /usr/bin/docker, then I added "/usr/bin/docker" to PATH -- docker:/tmp/installer # printenv|grep PATH... PATH=/usr/bin/docker:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games... docker:/tmp/installer # ls /usr/bin/docker docker docker-containerd docker-containerd-ctr docker-containerd-shim docker-init docker-proxy docker-runc dockerd我从下载中提取了 docker-17.12.1-ce.tgz printenv|grep PATH... PATH=/usr/bin/docker:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin :/usr/bin/X11:/usr/games... docker:/tmp/installer #ls /usr/bin/docker docker docker-containerd docker-containerd-ctr docker-containerd-shim docker-init -runc 码头工人

 When I ran "dockered" manually, it looks all right. And then I edited /etc/systemd/system/docker.service -- 

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/docker/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

And the "systemctl start docker" failed to start docker as daemon.并且“systemctl start docker”无法将 docker 作为守护进程启动。 The "journalctl -xe" reported this error -- “journalctl -xe”报这个错误——

Jan 06 12:00:36 docker dockerd[8884]: time="2022-01-06T12:00:36.970600345-05:00" level=warning msg="[!] DON'T BIND ON ANY IP ADDRESS WITHOUT setting --tlsverify IF YOU DON'T KNOW WHAT YOU'R
Jan 06 12:00:36 docker dockerd[8884]: Failed to connect to containerd: exec: "docker-containerd": executable file not found in $PATH
Jan 06 12:00:36 docker systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Jan 06 12:00:36 docker systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: Unit docker.service has failed

But actually -- the "docker-containerd" IS in the $PATH... and I even copied it to /usr/bin, but still failed with same error. And I searched this -- https://stackoverflow.com/questions/54269687/getting-error-while-running-docker-run-error-response-from-daemon/56990533#56990533--

But it also can't fix this issue by "systemctl restart docker" I really don't know what's the problem.但它也无法通过“systemctl restart docker”解决这个问题,我真的不知道是什么问题。 Please kind help.请善意帮助。 Thanks谢谢

Regards Eisen问候艾森

Find the answer -- that path is not the user's environment variable -- PATH -- it's the system service's environment variable --PATH.找到答案——那个路径不是用户的环境变量——PATH——而是系统服务的环境变量——PATH。 So we need to所以我们需要

1. systemctl edit docker
2. edit the newly created /etc/systemd/system/docker.service.d/override.conf
    [Service]
    Environment="PATH=$PATH:/usr/bin/docker"

Then it would be OK.然后就好了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 docker daemon exec: "dockerd" : 在 %PATH% 中找不到可执行文件 - docker daemon exec: "dockerd" : executable not found in %PATH% dockerd vs docker-containerd vs docker-runc vs docker-containerd-ctr vs docker-containerd-shim - dockerd vs docker-containerd vs docker-runc vs docker-containerd-ctr vs docker-containerd-shim “docker-containerd-shim”:在$ PATH中找不到可执行文件:未知 - “docker-containerd-shim”: executable file not found in $PATH: unknown Docker – exec: "bash": $PATH 中找不到可执行文件 - Docker – exec: "bash": executable file not found in $PATH Docker Base简单映像:无法启动容器XXX:exec:“cat”:$ PATH中找不到可执行文件 - Docker Base Simple image : Cannot start container XXX: exec: “cat”: executable file not found in $PATH 尝试详细运行docker容器或docker exec时,在$ PATH中找不到错误可执行文件 - Getting error executable file not found in $PATH when trying verbose run docker container or when docker exec 运行 dockerd.exe 启动 Docker 守护进程 - Run dockerd.exe to start Docker daemon 如何解决来自 docker 守护程序的错误响应 - 在 $PATH 中找不到可执行文件:未知 - How to resolve Error response from docker daemon - executable file not found in $PATH: unknown exec:“docker-runc”:在$ PATH中找不到可执行文件:未知 - exec: “docker-runc”: executable file not found in $PATH: unknown 使用 docker exec 运行命令时,“sqlplus”:在 $PATH 中找不到可执行文件 - "sqlplus": executable file not found in $PATH" when running a command with docker exec
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM