我试图从撰写文件指定的同一网络中的另一个容器内连接到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,但这似乎不起作用。
答案 0 :(得分:4)
您应该链接容器。将 ports 部分添加到 mysql 容器,将 links 部分添加到 php 容器。
$('.form-horizontal').serialize()
使用该配置,您可以使用 mysql:3306
从 php 访问 mysql 容器一些文档:https://docs.docker.com/compose/networking/#updating-containers
答案 1 :(得分:-1)
您不能共享mysql的端口
将docker-compose.yml添加到mysql服务:
ports:
- "3306:3306"
UPD
尝试设置mysql容器的环境
MYSQL_ROOT_PASSWORD: 123456
MYSQL_USER: dev
MYSQL_PASSWORD: 123456
MYSQL_DATABASE: myapp
和
$link = mysqli_connect("mysql", "dev", "123456", "myapp");
应该可以正常使用