Pax*_*Pax 11 docker docker-daemon
我按照此处文档中提供的步骤为 docker api 添加 tls 安全性。证书位于~/.docker/以及/etc/ docker /ssl/文件夹中。我将override.conf添加到/etc/systemd/system/docker.service.d/与内容
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem
Run Code Online (Sandbox Code Playgroud)
然后,我使用了 daemon-reload 和 docker start
$ systemctl daemon-reload
$ service docker start
Run Code Online (Sandbox Code Playgroud)
journalctl -xe 中的错误是:
-- Unit docker.socket has finished starting up.
--
-- The start-up result is RESULT.
Jan 15 21:43:24 cynicalplyaground systemd[1]: docker.service: Start request repeated too quickly.
Jan 15 21:43:24 cynicalplyaground systemd[1]: docker.service: Failed with result 'exit-code'.
Jan 15 21:43:24 cynicalplyaground systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit docker.service has failed.
--
-- The result is RESULT.
Jan 15 21:43:24 cynicalplyaground systemd[1]: docker.socket: Failed with result 'service-start-limit-hit'.
Jan 15 21:45:01 cynicalplyaground CRON[12768]: pam_unix(cron:session): session opened for user root by (uid=0)
Jan 15 21:45:01 cynicalplyaground CRON[12769]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Jan 15 21:45:01 cynicalplyaground CRON[12768]: pam_unix(cron:session): session closed for user root
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
eli*_*eli 16
在本案例中,在最新的 manjaro 更新 (2020-01-20) 之后发生了同样的错误。
尝试按照其他情况下的建议更改 systemd docker 服务,但我恢复了这些更改,最后通过以下方式解决了:
(就像这里的建议:https : //www.reddit.com/r/archlinux/comments/7ya4ug/installing_docker_on_arch_linux/)
jim*_*jim 14
找到问题的根源;
systemctl 状态 docker.service
有这个: /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
尝试运行该命令时,它抱怨无法使用文件 /etc/docker/daemon.json: EOF 配置 Docker 守护进程
ls -l /etc/docker/daemon.json -rw-r--r-- 1 root root 0 Jul 30 10:32 /etc/docker/daemon.json
请注意,JSON 文件是空的。删除它。
fre*_*727 11
对我来说,这是因为 docker 安装程序使用 iptables 进行 nat。不幸的是 Debian 使用 nftables。您可以将条目转换为 nftables 或仅设置 Debian 以使用旧版 iptables。
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
Run Code Online (Sandbox Code Playgroud)
dockerd,在切换到 iptables-legacy 后应该可以正常启动。
归档时间: |
|
查看次数: |
32973 次 |
最近记录: |