1
我想創建一個基本的開發機器運行php7
,nginx
和mariaDB
,使用docker-compose
。碼頭組成鏈接到mariaDB
我撰寫文件的精簡版如下:
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容器?
謝謝。
php腳本是一個簡單的基於PDO的連接。我試圖用'root'和'pass'作爲用戶名/密碼連接到'127.0.0.1'。 – user1970557
您可以將該代碼片段添加到您的問題中,它可以更容易地查看您是否在該代碼中存在錯誤。另外,你不應該試圖連接到'127.0.0.1',你應該試圖連接到'mariadb',因爲localhost不會讓你離開容器,並且docker將創建一個名爲mariadb的dns別名,它將鏈接到mariadb容器。另外,請確保您使用的是正確的端口3306。 –