0

在尝试 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

4

1 回答 1

0

端口 2377 仅用于管理 swarm 模式函数 init 等。对于容器,任务,...您需要在您的情况下处理 2376。您没有像之前的 swarm 那样获得与端口 4000 相同的端口。

于 2016-10-06T11:25:25.443 回答