我可以在不使用docker swarm的情况下设置docker覆盖网络吗?
我有两套服务(容器组)在两台不同的机器上运行。这两组服务都是使用docker compose文件声明的。目前,在每个docker compose文件中,我都包含一个桥接网络。这两组服务通过明确提及每台机器的IP地址来相互通信我可以在不使用docker swarm的情况下设置docker覆盖网络吗?,docker,docker-compose,docker-swarm,Docker,Docker Compose,Docker Swarm,我有两套服务(容器组)在两台不同的机器上运行。这两组服务都是使用docker compose文件声明的。目前,在每个docker compose文件中,我都包含一个桥接网络。这两组服务通过明确提及每台机器的IP地址来相互通信 如果我让这两个docker服务集通过覆盖网络相互通信,而不是像现在这样通过硬编码IP地址让每个服务集相互通信,这会减少网络延迟吗?换言之,这两个服务之间的通信性能是否会提高 如果上一个问题的答案是肯定的,那么我可以在这两台机器之间定义一个覆盖网络而不使用docker sw
docker swarm init
然后按照说明使用所需的标志(如网络接口)重新运行init命令,或者将其他节点加入集群
重要的是,您的容器本身不需要由swarm模式管理,您可以将其保留为仅管理覆盖网络的k/v数据库。创建网络时,请确保将其设置为可附加,以允许swarm模式以外的容器使用它:
docker network create -d overlay --attachable overlay-net-name
您还可以在compose文件中定义该名称,只需确保指定网络名称,并且通常是稍后启动的服务的外部名称