docker - 如何通过 docker swarm 将容器与同一节点上的另一个容器连接起来
问题描述
嘿,我正在尝试使用 compose 文件创建一个 docker swarm
服务“timeservice”通过连接
tcp://localhost:61616
到 ActiveMQ
在没有 docker-swarm 的情况下,我使用以下 compose-file 运行:
version: "3.3"
services:
ActiveMQ:
container_name: ActiveMQ
image: rmohr/activemq
restart: always
ports:
- "61616:61616"
- "8161:8161"
networks:
TutoNetz:
ipv4_address: 172.20.0.2
Postgres:
container_name: Postgres
image: postgres
restart: always
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: admin
ports:
- "5432:5432"
networks:
TutoNetz:
ipv4_address: 172.20.0.3
HelloJexxa:
container_name: HelloJexxa
image: 77f9ab0ef7d2
restart: always
ports:
- "7000:7000"
networks:
TutoNetz:
ipv4_address: 172.20.0.4
TimeService:
container_name: TimeService
image: 93c0aebd3f31
restart: always
ports:
- "7001:7000"
networks:
TutoNetz:
ipv4_address: 172.20.0.5
networks:
TutoNetz:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/16
但是我如何让它在 docker-swarm 环境中运行呢?如何创建这样的网络?同一节点上的所有内容(主节点)
这里是 docker swarm 的 compose-file:
version: "3.8"
services:
ActiveMQ:
container_name: ActiveMQ-Swarm
image: rmohr/activemq
deploy:
replicas: 1
ports:
- "62626:61616"
- "8262:8161"
HelloJexxa:
container_name: HelloJexxa-Swarm
image: ni920/hellojexxa:latest
deploy:
replicas: 3
ports:
- "8001:7001"
Timeservice:
container_name: Timeservice-Swarm
image: ni920/timeserviceplain:latest
deploy:
replicas: 3
ports:
- "7000:7000"
visualizer:
container_name: SwarmVisualizer
image: dockersamples/visualizer
deploy:
placement:
constraints: [node.role == manager]
ports:
- 5000:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
我希望你能帮助我。
解决方案
您可以使用以下命令从 swarm 上的 compose 文件部署堆栈:
docker stack deploy --compose-file docker-compose.yml [stack_name]
参考文档
推荐阅读
- django - Django post 变量作为模型对象引用
- python - 每次在文本框中输入文本时如何更新标签,使用 tkinter
- algorithm - 找到这个序列的前 k 个元素
- c++ - 'this' 参数丢弃限定符 [-fpermissive]
- javascript - NodeJS 在循环后使用 promise 执行功能
- swift - 在连接到平移手势的 y 轴上居中对象
- parsing - 从应用程序更新 apk 不起作用
- sql-server - Need to return string in SQL Query using FOR XML PATH when Values in Select string are Null
- java - 如何在视图中显示文档的所有字段?
- python - 如何遍历嵌套的 JSON 对象并在 python 中更新值?