在尝试 docker swarm mode api 之前,我在https://docs.docker.com/engine/security/https/的帮助下设置了带有 tls 身份验证的 docker remote api 。现在我的 /usr/lib/systemd/system/docker.service 配置了
ExecStart=/usr/bin/dockerd -H unix://var/run/docker.sock --tlsverify --tlscacert=/root/.docker/ca.pem --tlscert=/root/.docker/new-certs /server-cert.pem --tlskey=/root/.docker/new-certs/server-key.pem -H=0.0.0.0:2376
它工作得很好,我能够运行下面的命令并得到结果
curl https://$HOSTNAME:2376/tasks --cert ~/.docker/new-certs/cert.pem --key ~/.docker/new-certs/key.pem --cacert ~/.docker/new -certs/ca.pem
现在我创建了一个群体
码头工人群初始化
*:2377 现已上市
但由于某种原因,下面的命令返回“curl:(60) Peer 的证书颁发者已被标记为用户不信任”
curl https://$HOSTNAME:2377/tasks --cert ~/.docker/new-certs/cert.pem --key ~/.docker/new-certs/key.pem --cacert ~/.docker/new -certs/ca.pem
我找不到这种场景的任何合适的例子,所有这些都是关于 legacy swarm 的,例如https://docs.docker.com/swarm/configure-tls