docker - docker swarm 服务名称
问题描述
我是 swarm 的新手,并试图弄清楚如何设置服务名称以便从不同的节点访问容器。
我正在使用 docker-compose 文件:
version: '3.1'
services:
service-ui:
image: service-ui:release
deploy:
placement:
constraints:
- node.role == manager
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 5
ports:
- "443:443"
docker deploy -c docker-compose.yml stackname 以启动堆栈。
我的服务名称正在生成为以下格式:stackname_servicename.1,而我通过 ServiceName 访问它。如何在 swarm 模式下为服务设置一个常量名称?
解决方案
在同一个 compose 文件中,所有服务都可以通过 serviceName 相互使用,因为有内部 DNS。
在您的文件中,您的服务bigid-ui
是此类所有服务的 DNS 记录,因此即使您扩展应用程序一次,您将获得 bigid-ui.1 和其他时间 bigid-ui.2 但两者都有 dns 记录只是 bigid -ui。
此名称仅可用于同一撰写文件中的其他服务。如果您这样做docker ps -a
,它将向您显示正确的 stackanme_bigid-ui.1。
推荐阅读
- pytorch - 在演示中复制语义分析模型
- c# - 如何使用 mysql db、C# 中的存储过程创建 rdlc 报告
- r - 如何使用 get_contrast 获得边际手段
- python - 在循环内连接数据框
- java - 正则表达式使用单词的一部分来获取完整的单词
- reactjs - TS2307:找不到模块“反应引导”
- node.js - docker - 将文件名作为参数传递给 nodejs 应用程序
- javascript - 跟踪相对于元素的光标位置 - javascript / jquery
- python - 如何计算数据框python中特定值之前的出现次数?
- angular - 如何根据 ngModel 值将组件中的“if、else、else if”转换为 switchcase 场景?