我按照 此处 文档中提供的步骤为 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
然后,我使用了 daemon-reload 和 docker start
$ systemctl daemon-reload
$ service docker start
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
我该如何解决这个问题?
原文由 PaxPrz 发布,翻译遵循 CC BY-SA 4.0 许可协议
在本例中,在最新的 manjaro 更新 (2020-01-20) 之后发生了同样的错误。
按照其他情况下 的建议,尝试更改 systemd docker 服务,但我恢复了这些更改,最后通过以下方式 解决了这个问题:
(如建议: https ://www.reddit.com/r/archlinux/comments/7ya4ug/installing_docker_on_arch_linux/)