Docker 17
引擎: CLI | Engine: CLI

docker swarm ca

docker swarm ca

描述

管理根CA

使用

docker swarm ca [OPTIONS]

备选方案

名字,简写默认描述
--ca-cert 用于新集群的PEM格式的根CA证书的路径
--ca-key 用于新集群的PEM格式化根CA密钥的路径
--cert-expiry 2160h0m0s节点证书的有效期(ns | us | ms | s | m | h)
--detach, -d 立即退出,而不是等待根旋转收敛
--external-ca 一个或多个证书签名端点的规格
--quiet, -q 抑制进度输出
--rotate旋转丛集CA - 如果未提供证书或密钥,则会生成新的证书或密钥

父命令

命令描述
docker swarm 管理群

相关命令

命令描述
docker 群管理根CA
docker 群初始化初始化一个群
docker 群加入加入群体作为节点和/或经理
docker 群联合令牌管理联合令牌
docker 群离开离开群
docker 群解锁解锁群
docker 群解锁键管理解锁密钥
docker 群更新更新群体

扩展描述

查看或旋转当前群集CA证书。此命令必须针对管理器节点。

实例

运行docker swarm ca命令,没有任何选项可以查看PEM格式的当前根CA证书。

$ docker swarm ca -----BEGIN CERTIFICATE----- MIIBazCCARCgAwIBAgIUJPzo67QC7g8Ebg2ansjkZ8CbmaswCgYIKoZIzj0EAwIw EzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNTAzMTcxMDAwWhcNMzcwNDI4MTcx MDAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH A0IABKL6/C0sihYEb935wVPRA8MqzPLn3jzou0OJRXHsCLcVExigrMdgmLCC+Va4 +sJ+SLVO1eQbvLHH8uuDdF/QOU6jQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB Af8EBTADAQH/MB0GA1UdDgQWBBSfUy5bjUnBAx/B0GkOBKp91XvxzjAKBggqhkjO PQQDAgNJADBGAiEAnbvh0puOS5R/qvy1PMHY1iksYKh2acsGLtL/jAIvO4ACIQCi lIwQqLkJ48SQqCjG1DBTSBsHmMSRT+6mE2My+Z3GKA== -----END CERTIFICATE-----

传递该--rotate标志(以及可选的a --ca-cert,连同一个--ca-key--external-ca参数标志),以便旋转当前群根CA.

$ docker swarm ca --rotate desired root digest: sha256:05da740cf2577a25224c53019e2cce99bcc5ba09664ad6bb2a9425d9ebd1b53e rotated TLS certificates: [=========================> ] 1/2 nodes rotated CA certificates: [> ] 0/2 nodes

一旦旋转os完成(所有进度条完成),将打印当前的CA证书:

$ docker swarm ca --rotate desired root digest: sha256:05da740cf2577a25224c53019e2cce99bcc5ba09664ad6bb2a9425d9ebd1b53e rotated TLS certificates: [==================================================>] 2/2 nodes rotated CA certificates: [==================================================>] 2/2 nodes -----BEGIN CERTIFICATE----- MIIBazCCARCgAwIBAgIUFynG04h5Rrl4lKyA4/E65tYKg8IwCgYIKoZIzj0EAwIw EzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNTE2MDAxMDAwWhcNMzcwNTExMDAx MDAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH A0IABC2DuNrIETP7C7lfiEPk39tWaaU0I2RumUP4fX4+3m+87j0DU0CsemUaaOG6 +PxHhGu2VXQ4c9pctPHgf7vWeVajQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB Af8EBTADAQH/MB0GA1UdDgQWBBSEL02z6mCI3SmMDmITMr12qCRY2jAKBggqhkjO PQQDAgNJADBGAiEA263Eb52+825EeNQZM0AME+aoH1319Zp9/J5ijILW+6ACIQCg gyg5u9Iliel99l7SuMhNeLkrU7fXs+Of1nTyyM73ig== -----END CERTIFICATE-----

--rotate

如果一个或多个群集管理器已被破坏,则建议使用根CA旋转,以便这些管理器无法再连接到群集中的任何其他节点或受其信任。

或者,可以使用根CA旋转来将群集CA控制权授予外部CA,或从外部CA获取控制权。

--rotate标志不需要任何参数进行轮换,但您可以选择指定证书和密钥,或者证书和外部CA URL,并且将使用这些参数代替自动生成的证书/密钥对。

由于根CA密钥应该保密,如果提供,通过CLI或API查看群集任何信息时都不可见。

直到所有注册节点都旋转了他们的TLS证书后,根CA轮换才能完成。如果旋转没有在合理的时间内完成,请尝试运行docker node ls --format {{.ID}} {{.Hostname}} {{.Status}} {{.TLSStatus}}以查看是否有节点关闭或无法旋转TLS证书。

--detach

启动根CA旋转,但不要等待旋转的完成或显示旋转的进度。