gpt4 book ai didi

mysql - 使用客户端连接到docker网络内的mysql

转载 作者:行者123 更新时间:2023-11-29 15:37:57 25 4
gpt4 key购买 nike

我正在使用 docker swarm 创建一个具有不同 wordpress 实例的小型基础设施,我有一个入口(nginx)和不同的堆栈(wp、mysql、wp)。每个堆栈的 docker-compose 如下所示:

version: "3.7"

networks:
foo-frontend:
foo-backend:

volumes:
db_data:
wordpress_data:

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
env_file:
- db.env
networks:
- foo-backend
ports:
- "3306:3306"

wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- wordpress_data:/var/www/html/wp-content
env_file:
- wp.env
networks:
- foo-frontend
- foo-backend

nginx:
depends_on:
- wordpress
image: nginx:latest
volumes:
- ./nginx:/etc/nginx/conf.d
- /etc/letsencrypt:/etc/letsencrypt
networks:
- foo-frontend

而入口是:

version: "3.7"

services:
nginx:
image: nginx:latest
ports:
- 80:80
- 443:443
volumes:
- ~/docker-vps/ingress/conf.d:/etc/nginx/conf.d
- /etc/letsencrypt:/etc/letsencrypt
networks:
- foo-frontend

networks:
frontend:
external: true

我的问题是我无法使用客户端连接到 mysql,我尝试使用具有正确端口的容器 IP,但不起作用......有没有办法使用客户端连接到 mysql ?

非常感谢

最佳答案

将主机名视为服务名称。这就是服务通信的方式。因此,数据库的主机名是db。让我知道出现的错误消息,因为我没有评级来评论您原来的问题以了解这一点。

关于mysql - 使用客户端连接到docker网络内的mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58034706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com