2017-04-16 1 views
0

PHPでnginxサーバーを作成しましたが、動作しません。ドッカーnginx、PHP何が間違っている?

これは私のドッキングウィンドウ-compose.ymlです:

web: 
    image: nginx:latest 
    ports: 
     - 127.0.0.1:8080:80 
    volumes: 
     - ./docs:/docs 
     - ./site.conf:/etc/nginx/conf.d/site.conf 
    links: 
     - php 
php: 
    image: php:latest 
    volumes: 
     - ./docs:/docs 

site.conf:

server { 
    listen 80; 
    index index.php; 
    server_name php.local; 
    error_log /var/log/nginx/error.log; 
    access_log /var/log/nginx/access.log; 
    root /docs; 

    location ~ \.php$ { 
     try_files $uri =404; 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     fastcgi_pass php:9000; 
     fastcgi_index index.php; 
     include fastcgi_params; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     fastcgi_param PATH_INFO $fastcgi_path_info; 
    } 
} 

の/ etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 
::1   localhost localhost.localdomain localhost6 localhost6.localdomain6 
127.0.0.1 php.local 

ドッカーは、エラーなしの端末で動作します:

sudo docker-compose up -d 
Starting php_php_1 
Starting php_web_1 

ブラウザに127:0:0:1:8080またはphp.local:8080と入力すると接続が拒否されます。

答えて

0

これは、ドッキングウィンドウ-作曲IPがローカルホストでないシンプルな

- 8080:80 

と交換してください

- 127.0.0.1:8080:80 

を転送するポートの正しい構文ではありません。お使いのドッキングウィンドウ・コンIPを見つけるために、あなたは続きを読む...(たとえば、あなたがOSXを訴えている場合)、docker-machine ip defaultを呼び出す必要があり、ここでhttps://docs.docker.com/machine/reference/ip/

通常、IPはあなたのため、ヨーヨーhttp://192.168.99.100:8080を呼び出す場合192.168.99.100のようなものですドッキング用コンテナのサーバーにアクセス可能である必要があります

+0

私はFedoraを使用しています。チュートリアルによると、ドッカーマシンは必要ありません。それはlocalhost上で動作するはずです... http://192.168.99.100:8080への呼び出しは動作しません。 – smiady

関連する問題