如何在docker-compose中设置WORDPRESS_DB_HOST

我想知道如何在docker-compose文件中设置WORDPRESS_DB_HOST。

wordpress: image: wordpress ports: - 8080:80 environment: WORDPRESS_DB_PASSWORD: example WORDPRESS_DB_HOST: 192.168.99.100:3307 wordpress_db: image: mariadb environment: MYSQL_ROOT_PASSWORD: example ports: - 3307:3306 volumes: - /doc/wordpress_db:/var/lib/mysql 

在这里,“192.168.99.100”是我的IP泊坞机。 我想用dynamic的价值取代它。

谢谢 ! 🙂

我不确定docker-compose的版本1,但我会这样做:

 version: '2' services: wordpress: image: wordpress ports: - 8080:80 environment: - WORDPRESS_DB_PASSWORD=example - WORDPRESS_DB_HOST=wp_db links: - wordpress_db:wp_db wordpress_db: image: mariadb environment: - MYSQL_ROOT_PASSWORD=example ports: - 3307:3306 volumes: - /doc/wordpress_db:/var/lib/mysql 

要注意的是links部分。 您可以将容器链接到另一个服务中的容器。 这使您可以使用别名wp_db引用数据库的IP。

Docker compose在启动之前并不知道容器的IP地址,需要在该点之前定义容器的环境。 如果你需要这个值作为你的容器的IP地址,那么在一个入口脚本中定义并导出它,如下所示:

 export WORDPRESS_DB_HOST=`hostname -i` 

请注意,获取您的容器IP地址的此主机名脚本取决于您的容器基本分布。 它在debian中工作,但是您可能需要其他linux变体的其他命令。