【发布时间】:2020-09-03 08:51:41
【问题描述】:
我有一个带有 2 个节点的 docker swarm,每个节点在全局模式下运行 2 个服务,因此每个节点内部都有 2 个服务运行。
我的问题是如何强制 node1 中的 ubuntu 服务仅连接到 node1 中的 mysql 服务,而不使用循环方法选择 mysql 服务。
所以当我使用mysql -hmysql -uroot -p从node1中的ubuntu连接到mysql时,它只选择node1中的mysql。
这是描述我的案例的 docker-compose 文件
version: '3.8'
services:
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: password
networks:
app-net: {}
deploy:
mode: global
ubuntu:
entrypoint: tail -f /dev/null
deploy:
mode: global
image: ubuntu:20.04
networks:
app-net: {}
networks:
app-net: {}
当我尝试连接到 mysql 时,使用 ubuntu 容器中的这个 docker-compose 文件,它会使用循环算法在两个节点中选择 mysql 服务。 我试图实现的是强制每个服务只对同一节点内的服务可见。
【问题讨论】:
标签: docker docker-compose swarm