gpt4 book ai didi

docker - 从另一个容器连接到 mysql 容器

转载 作者:行者123 更新时间:2023-12-02 06:34:58 24 4
gpt4 key购买 nike

我正在尝试从由撰写文件指定的同一网络上的另一个容器内连接到 mysql 容器。

version: "2"
services:
web:
build:
context: .
dockerfile: nginx/Dockerfile
ports:
- "8080:80"
volumes:
- ./data:/srv
php:
build:
context: .
dockerfile: php-fpm/Dockerfile
volumes:
- ./data:/srv
mysql:
image: mysql
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
- MYSQL_USER=dummy_user
- MYSQL_PASSWORD=12345

如果我尝试从 php 容器连接到 mysql 容器,我不太确定连接参数是什么。

具体来说,同一 docker-compose 网络的另一个容器内的 mysql 容器的主机和端口是什么?

我尝试过主机:mysql端口:3306,但这似乎不起作用。

最佳答案

您应该链接容器。将 ports 部分添加到 mysql 容器,将 links 部分添加到 php 容器。

version: "2"
services:
web:
build:
context: .
dockerfile: nginx/Dockerfile
ports:
- "8080:80"
volumes:
- ./data:/srv
php:
build:
context: .
dockerfile: php-fpm/Dockerfile
links:
- mysql:mysql
volumes:
- ./data:/srv
mysql:
image: mysql
ports:
- "3306:3306"
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
- MYSQL_USER=dummy_user
- MYSQL_PASSWORD=12345

通过该配置,您将能够使用 mysql:3306php 访问 mysql 容器

一些文档:https://docs.docker.com/compose/networking/#updating-containers

关于docker - 从另一个容器连接到 mysql 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45738592/

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