im triyng在Manjaro(我的内核版本为4.19)中使用docker,但无法正常工作。
运行sudo pamac install docker
后,我运行sudo systemctl start docker.service
并收到以下消息:
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
所以sudo systemctl status docker.service
返回:
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2019-04-29 12:28:44 -03; 39s ago
Docs: https://docs.docker.com
Process: 17769 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=1/FAILURE)
Main PID: 17769 (code=exited, status=1/FAILURE)
abr 29 12:28:44 tamer-pc systemd[1]: docker.service: Service RestartSec=100ms expired, scheduling restart.
abr 29 12:28:44 tamer-pc systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
abr 29 12:28:44 tamer-pc systemd[1]: Stopped Docker Application Container Engine.
abr 29 12:28:44 tamer-pc systemd[1]: docker.service: Start request repeated too quickly.
abr 29 12:28:44 tamer-pc systemd[1]: docker.service: Failed with result 'exit-code'.
abr 29 12:28:44 tamer-pc systemd[1]: Failed to start Docker Application Container Engine.
和journalctl -xe
返回:
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- The unit docker.service has entered the 'failed' state with result 'exit-code'.
abr 29 12:28:44 tamer-pc systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: A unidade docker.service falhou
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- A unidade docker.service falhou.
--
-- O resultado é failed.
abr 29 12:28:44 tamer-pc systemd[1]: docker.socket: Failed with result 'service-start-limit-hit'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- The unit docker.socket has entered the 'failed' state with result 'service-start-limit-hit'.
abr 29 12:29:02 tamer-pc dbus-daemon[650]: [system] Activating via systemd: service name='org.freedesktop.resolve1' unit='>
abr 29 12:29:02 tamer-pc dbus-daemon[650]: [system] Activation via systemd failed for unit 'dbus-org.freedesktop.resolve1.>
abr 29 12:29:24 tamer-pc sudo[17879]: tamer : TTY=pts/0 ; PWD=/etc/docker ; USER=root ; COMMAND=/usr/bin/systemctl stat>
abr 29 12:29:24 tamer-pc sudo[17879]: pam_unix(sudo:session): session opened for user root by (uid=0)
abr 29 12:29:24 tamer-pc sudo[17879]: pam_unix(sudo:session): session closed for user root
lines 1703-1725/1725 (END)
我正在找两天,但我读到的任何案例似乎都不是我的问题。
答案 0 :(得分:2)
在本地计算机上设置 Kubenetes 时,我遇到了类似的问题:
当我尝试设置 Docker 以使用OverlayFS存储驱动程序时出现错误。
我运行了以下命令:
sudo systemctl stop docker
cp -au /var/lib/docker /var/lib/docker.bk
然后当我尝试使用以下命令再次启动docker时:
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.
这是我的解决方法:
我运行了以下命令来检查Tâmer Pinheiro answer之后的问题:
sudo dockerd --debug
它给了我这个信息:
INFO[2020-09-02T11:46:15.272833297Z] Starting up
DEBU[2020-09-02T11:46:15.273547501Z] Listener created for HTTP on unix (/var/run/docker.sock)
failed to start daemon: Unable to get the TempDir under /var/lib/docker: mkdir
/var/lib/docker/tmp: no space left on device
我还检查了服务器的磁盘空间:
df -h
表明驱动器(/dev/sda1 filesystem
)上没有剩余空间:
Filesystem Size Used Avail Use% Mounted on
udev 2.0G 0 2.0G 0% /dev
tmpfs 396M 12M 384M 4% /run
/dev/sda1 9.8G 9.8G 0 100% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
tmpfs 396M 0 396M 0% /run/user/1000
我意识到这个问题与设备上没有剩余空间有关。
我必须运行以下命令来清除文件系统的一些空间:
sudo find /var/log -type f -delete
sudo rm -rf /var/cache/apt/*
sudo apt clean all
最后,我删除了/var/lib/docker.bk
文件,因为它对于服务器的 9.8GB文件系统来说太大了:
sudo rm -rf /var/lib/docker.bk
这次我运行命令:
sudo systemctl restart docker
一切正常。
仅此而已。
我希望这会有所帮助
答案 1 :(得分:1)
我按照各种步骤导致此错误。然后重新启动电脑,一切正常。
答案 2 :(得分:1)
在我的情况下,它是“ dns”数组/列表中/etc/docker/daemon.json中的悬挂逗号。我只是在最后一个条目后删除了逗号,它就起作用了。
答案 3 :(得分:1)
我收到错误消息“docker.service 的作业失败,因为控制进程退出并显示错误代码。”在 Centos 8 上安装 Docker 后。对我有帮助的是:
yum install iptables
iptables -I INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
然后我成功运行了“sudo systemctl start docker”。
答案 4 :(得分:0)
我真的不知道发生了什么,但是我像Zeitounator那样运行sudo dockerd --debug
来定向我,重新启动我的电脑,然后docker运行良好。
答案 5 :(得分:0)
我遇到了同样的问题,但是我遵循@Zeitounator的建议,然后运行此命令sudo dockerd --debug
来查看问题。它显示此消息:
运行docker不支持您的Linux内核版本2.6.32-042stab138.1。请将您的内核升级到3.10.0或更高版本。
我已经更新了内核,它运行完美。希望对您有所帮助!
答案 6 :(得分:0)
对我来说,停止VPN解决了问题
答案 7 :(得分:0)
named.service的作业失败,因为控制过程退出并显示错误代码。有关详细信息,请参见“系统ctl名称为.service的状态”和“ journalctl -xe”。
答案 8 :(得分:0)
我也遇到了这个问题,@ Zeitounator提供的调试命令起到了很大的作用,但没有彻底解决问题。
原来的问题是我没有在Centos上安装Docker需要的IPTables。我使用以下演练来安装,启动和测试它们,然后docker开始没有问题。
https://linuxize.com/post/how-to-install-iptables-on-centos-7/
答案 9 :(得分:0)
对我来说,更新内核版本并重新启动即可解决问题。
答案 10 :(得分:0)
对我来说,更新 firewalld 解决了这个问题(个人沙箱,所以我完全禁用了防火墙)。
答案 11 :(得分:0)
面对同样的问题三步走:
1:docker --debug
确定它是网络问题的问题:无法对 NAT 链进行编程:ZONE_CONFLICT:'docker0' 已经绑定到一个区域
2:解决这个问题并找到运行命令
`firewall-cmd --zone=trusted --remove-interface=docker0`
3:systemctl start docker