2016-04-26 16 views
1

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コンテナに接続できるようにするための設定はもう必要ですか?

ありがとうございました。あなたのコードを見てみると

答えて

0

は、あなたがphp70からmariadbコンテナへのセットアップのリンクを持っているが、あなたはwwwrootコンテナ内の1を持っていません。 wwwrootコンテナから接続しようとしている場合は、そこからmariadbへのリンクも追加する必要があります。それとも、代わりにあなたのphp70コンテナに接続したいと思われるかのように見えます。

また、mariadbに接続しようとするPHPコードを表示すると、エラーが発生することがあります。

+0

phpスクリプトは、単純な 'PDO'ベースの接続です。私は 'root 'と' pass'で '127.0.0.1'にユーザ名/パスワードとして接続しようとしています。 – user1970557

+0

そのコードスニペットを質問に追加できますか?そのコードにバグがあるかどうかを簡単に確認できます。また、 '127.0.0.1'に接続しようとするべきではありません。localhostはあなたがコンテナから出ることを許さないので' mariadb'に接続しようとしています。そしてdockerはリンクするmariadbという別名を作成しますmariadbコンテナへ。また、正しいポート3306を使用していることを確認してください。 –

関連する問題