2017-12-08 4 views
0

私はDockerdocker-compose.ymlを絶対に新しくしています。 info.phpで10up/phpfpmとhttdを使用しているdocker-compose.yml:最新のphpファイルを実行できません

/ 
    /web 
     info.php 
    docker-compose.yml 

内容です:

version: '3' 
services: 
    mysql: 
     image: mysql:latest 
     volumes: 
      - $PWD/data/db:/var/lib/mysql 
     restart: always 
     ports: 
      - 3306:3306 
     environment: 
      MYSQL_ROOT_PASSWORD: root 
      MYSQL_DATABASE: appdb 
      MYSQL_USER: root 
      MYSQL_PASSWORD: root 
    phpfpm: 
     image: 10up/phpfpm 
     depends_on: 
      - mysql 
      - phpmyadmin 
     volumes: 
      - $PWD/web:/var/www/html 
     restart: always 
     extra_hosts: 
      - docker-local.dev:172.18.0.1 
    apache: 
     image: httpd:latest 
     depends_on: 
      - phpfpm 
     ports: 
      - 80:80 
     restart: "always" 
     volumes: 
      - $PWD/web:/usr/local/apache2/htdocs 
    phpmyadmin: 
     image: phpmyadmin/phpmyadmin:latest 
     links: 
      - mysql 
     environment: 
      PMA_HOST: mysql 
      PMA_PORT: 3306 
      PMA_USER: root 
      PMA_PASSWORD: root 
      MYSQL_ROOT_PASSWORD: root 
      MYSQL_USER: root 
      MYSQL_PASSWORD: root 
     ports: 
      - 8080:80 
     depends_on: 
      - mysql 
    mailcatcher: 
     image: schickling/mailcatcher 
     restart: always 
     ports: 
      - "1025:1025" 
      - "1080:1080" 
     environment: 
      MAILCATCHER_PORT: 1025 

私のファイル・システム・レイアウトはそのようなものです:

だから、私は次のコードのようになります。私の最初のdocker-compose.ymlファイルを構成したいです次のようになります。

<?php 
phpinfo(); 

私が通信を使用してドッキングを実行するとそしてdocker-compose up私はすべてのエラーを得ることはありません、MySQLApachephpMyAdminmailcatcherは、それが必要として動作しているようですが、私はURL http://localhost/info.phpを訪問しようとしたとき、私は、ファイルの内容ではなく機能phpinfo()の出力を参照してください。

何が問題なのですか?

私は何か間違っていますが、私はそれを見ませんか?

:これはデベロッパーマシンなので、コードと一緒に共有されているセキュリティと資格情報は気にしません:)。

答えて

1

あなたはApache2(httpd)イメージを使用しています。 PHPではありません。 This is the imageを使用しています。そのページの文書で

、それは述べて:

この画像は唯一、上流からデフォルトでのApache HTTPDが含まれています。 PHPはインストールされていませんが、拡張するのは難しくありません。一方、Apache httpdでPHPを使用する場合は、PHP imageを参照し、-apacheタグを確認してください。シンプルなHTMLサーバーを実行する場合は、単純なDockerファイルをプロジェクトに追加します。ここで、public-html /はすべてのHTMLを含むディレクトリです。

関連する問題