docker swarm ca

描述

显示并旋转根CA

API 1.30+  客户端和守护程序API都必须至少为 1.30 才能使用此命令。docker version在客户端上使用命令检查客户端和守护程序API版本。

Swarm此命令与Swarm协调器一起使用。

用法

$ docker swarm ca [OPTIONS]

扩展说明

查看或旋转当前的群集CA证书。

笔记

这是集群管理命令,必须在集群管理器节点上执行。要了解管理人员和工作人员,请参阅文档中的“ 群集模式”部分

有关此命令的示例用法,请参阅下面的示例部分

选项

名称,简写 默认 描述
--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 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标志(以及可选的--ca-certa--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

一旦旋转完成(所有进度条都已完成),将打印当前的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旋转,但不要等待旋转完成或显示旋转进度。

上级命令

命令 描述
码头工人 管理群
命令 描述
docker swarm ca 显示并旋转根CA
docker swarm初始化 初始化一群
docker swarm加入 加入一群人作为节点和/或管理者
docker swarm连接令牌 管理加入令牌
码头群离开 离开群
码头群解锁 解锁群
泊坞窗群解锁密钥 管理解锁密钥
docker swarm更新 更新群