云计算核心技术Docker教程 注册服务器Swarm 服务运作
发布时间:2022-06-30 13:27 所属栏目:124 来源:互联网
导读:与独立容器相比, Swarm 服务提供了几个优势。他们使用声明性模型,这意味着您定义了所需的状态,Docker 将您的服务保持在该状态。服务提供自动负载平衡扩展,以及控制服务分布的能力,以及其他优势。服务还允许您将敏感数据(例如 TLS 证书)存储在 secrets
与独立容器相比, Swarm 服务提供了几个优势。他们使用声明性模型,这意味着您定义了所需的状态,Docker 将您的服务保持在该状态。服务提供自动负载平衡扩展,以及控制服务分布的能力,以及其他优势。服务还允许您将敏感数据(例如 TLS 证书)存储在 secrets中。 首先,将 TLS 证书和密钥保存为机密: $ docker secret create domain.crt certs/domain.crt $ docker secret create domain.key certs/domain.key 接下来,将标签添加到要运行注册表的节点。要获取节点的名称,请使用docker node ls. 用您的节点名称替换 node1下面的名称。 $ docker node update --label-add registry=true node1 接下来,创建服务,授予它访问这两个秘密的权限,并将其限制为仅在带有标签的节点上运行registry=true。除了约束之外,您还指定一次只能运行一个副本。/mnt/registry示例将swarm 节点上的绑定挂载到/var/lib/registry/ 容器内。绑定挂载依赖于预先存在的源目录,因此请确保/mnt/registry存在于node1. docker service create您可能需要在运行以下命令之前创建它。 默认情况下,秘密被挂载到一个服务中/run/secrets/。 $ docker service create \ --name registry \ --secret domain.crt \ --secret domain.key \ --constraint 'node.labels.registry==true' \ --mount type=bind,src=/mnt/registry,dst=/var/lib/registry \ -e REGISTRY_HTTP_ADDR=0.0.0.0:443 \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/run/secrets/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=/run/secrets/domain.key \ --publish published=443,target=443 \ --replicas 1 \ registry:2 您可以在任何 swarm 节点的 443 端口访问该服务。Docker 将请求发送到运行服务的节点。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读