云计算核心技术Docker教程 注册服务器Swarm 服务运作
发布时间:2022-07-06 00:19:52 所属栏目:云计算 来源:互联网
导读:与独立容器相比, Swarm 服务提供了几个优势。他们使用声明性模型,这意味着您定义了所需的状态,Docker 将您的服务保持在该状态。服务提供自动负载平衡扩展,以及控制服务分布的能力,以及其他优势。服务还允许您将敏感数据(例如 TLS 证书)存储在 secre
与独立容器相比, 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 将请求发送到运行服务的节点。 ![]() (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |