Docker,如何在PHP中获取另一个容器中的容器IP?
我想用mysql和ApachePHP制作一个docker 我想在php代码中轻松连接mysql,而不必搜索mysql容器的当前ip 如何在php apache容器中链接mysql ip地址 我的Docker,如何在PHP中获取另一个容器中的容器IP?,php,mysql,docker,Php,Mysql,Docker,我想用mysql和ApachePHP制作一个docker 我想在php代码中轻松连接mysql,而不必搜索mysql容器的当前ip 如何在php apache容器中链接mysql ip地址 我的docker compose文件: version: "3.2" services: apache: build: context: './docker/apache/' links: - mysql:mysqldb depends
docker compose
文件:
version: "3.2"
services:
apache:
build:
context: './docker/apache/'
links:
- mysql:mysqldb
depends_on:
- mysql
ports:
- "80:80"
volumes:
- ./:/var/www/html/
- ./docker/apache/virtualhost.conf:/etc/apache2/sites-enabled/000-default.conf
- ./docker/apache/php.ini:/usr/local/etc/php/php.ini
container_name: apache
mysql:
image: mysql/mysql-server:8.0
command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci','--default-authentication-plugin=mysql_native_password']
restart: always
ports:
- "18906:3306"
# volumes:
# - ./docker/mysql-dump:/docker-entrypoint-initdb.d
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: dbtest
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_HOST: '%'
container_name: mysql
我的php脚本:
$conn = mysqli_connect(
'172.10.0.2', // i want this to change acording to the mysql container
$user,
$pass,
$database
);
如果您还需要什么,请告诉我。试试这个:
$conn = mysqli_connect(
'mysql', // here goes your mysql container name
$user,
$pass,
$database
);
您将对
mysql
Compose服务名称使用普通DNS查找;您可能可以直接将该主机名配置为数据库位置。更多详细信息见Docker文档。您不需要链接:
或容器名称:
选项。谢谢,我不知道这么简单