Docker 编写到 mariaDB 的链接
Docker compose linking to mariaDB
我正在尝试创建一个基本的开发机器 运行 php7
、nginx
和 mariaDB
,使用 docker-compose
。
我的compose文件精简版如下:
wwwroot:
container_name: wwwroot
image: wwwroot
volumes:
- .:/var/www
restart: always
nginx:
container_name: nginx
image: nginx
links:
- php70
volumes_from:
- wwwroot
ports:
- "80:80"
- "443:443"
restart: always
php70:
container_name: php70
image: kreable/php70
volumes_from:
- wwwroot
links:
- mariadb
restart: always
mariadb:
container_name: mariadb
image: mariadb
environment:
DB_ADMIN_PASS: pass
ports:
- "3306:3306"
restart: always
这工作正常并创建了所需的容器。问题在于尝试将基本 PHP 脚本连接到数据库。我总是得到:
SQLSTATE[HY000] [2002] Connection refused
我的 PHP 应用程序在 wwwroot
容器中。
我是否需要做任何进一步的配置才能让我的 PHP 应用程序连接到 mariaDB 容器?
谢谢。
查看您的代码,您已经设置了一个从 php70
到 mariadb
容器的 link,但是 wwwroot
容器中没有。如果您尝试从您的 wwwroot 容器连接,那么您还需要从那里向 mariadb 添加一个 link。或者看起来您可能想要连接到 php70 容器。
此外,最好显示您用来尝试连接到 mariadb 的 PHP 代码,它会导致错误。
我正在尝试创建一个基本的开发机器 运行 php7
、nginx
和 mariaDB
,使用 docker-compose
。
我的compose文件精简版如下:
wwwroot:
container_name: wwwroot
image: wwwroot
volumes:
- .:/var/www
restart: always
nginx:
container_name: nginx
image: nginx
links:
- php70
volumes_from:
- wwwroot
ports:
- "80:80"
- "443:443"
restart: always
php70:
container_name: php70
image: kreable/php70
volumes_from:
- wwwroot
links:
- mariadb
restart: always
mariadb:
container_name: mariadb
image: mariadb
environment:
DB_ADMIN_PASS: pass
ports:
- "3306:3306"
restart: always
这工作正常并创建了所需的容器。问题在于尝试将基本 PHP 脚本连接到数据库。我总是得到:
SQLSTATE[HY000] [2002] Connection refused
我的 PHP 应用程序在 wwwroot
容器中。
我是否需要做任何进一步的配置才能让我的 PHP 应用程序连接到 mariaDB 容器?
谢谢。
查看您的代码,您已经设置了一个从 php70
到 mariadb
容器的 link,但是 wwwroot
容器中没有。如果您尝试从您的 wwwroot 容器连接,那么您还需要从那里向 mariadb 添加一个 link。或者看起来您可能想要连接到 php70 容器。
此外,最好显示您用来尝试连接到 mariadb 的 PHP 代码,它会导致错误。