Connect Postgresql from Docker Swarm Container



我有5个微服务,我打算在由3个节点组成的docker集群集群上部署。

我也有一个postgresql服务运行在其中一个服务器上(不是dockerized,而是安装在服务器上),我有。我确实将网络指定为"主机"。对于所有的服务,但他们只是拒绝启动,没有日志生成。

version: '3.8'
services:
frontend-client:
image: xxx:10
container_name: frontend
restart: on-failure
deploy:
mode: replicated
replicas: 3
networks:
- "host"
ports:
- "xxxx:3000"
networks:
host:
name: host
external: true

我也尝试从没有安装postgres的服务器启动centos容器,并且能够ping和telnet postgresql端口,以及使用分配给它的主机网络。

有没有人能帮我缩小问题范围,或者看看我可能错过的可能性?

docker swarm不支持host"因此,您最好的选择(和最佳实践)是将您的postgresql主机IP地址作为环境变量传递给使用它的服务。

如果你使用的是docker-compose而不是docker swarm,你可以设置network_mode为host:

version: '3.8'
services:
frontend-client:
image: xxx:10
container_name: frontend
restart: on-failure
deploy:
mode: replicated
replicas: 3
network_mode: "host"
ports:
- "xxxx:3000"

注意,我已经删除了networks部分的撰写代码片段,并将其替换为network_mode

最新更新