Docker,如何在PHP中获取另一个容器中的容器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

我想用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_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文档。您不需要
链接:
容器名称:
选项。谢谢,我不知道这么简单