、nginx
およびmariaDB
を実行している基本的な開発マシンをdocker-compose
を使って作成しようとしています。これは正常に動作し、所望のコンテナを作成しますDockerは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'に接続しようとするべきではありません。localhostはあなたがコンテナから出ることを許さないので' mariadb'に接続しようとしています。そしてdockerはリンクするmariadbという別名を作成しますmariadbコンテナへ。また、正しいポート3306を使用していることを確認してください。 –