2017-02-17 10 views
0

docker-composeファイルを理解しているので、docker-compose upコマンドを使用してイメージをロードし、コンテナを開始します。逆にdocker buildコマンドでファイルDockerfileを使用すると、イメージのみが作成されます。私は、物事がうまくいかないので、私はここに何かを見逃していると思う。複数のdevプロジェクトをnginx-proxyを使ってdockerコンテナで実行する

bitnami/wordpressの指示に続いて、私はdocker-compose up dを使用して正常に動作しているインストールを得ました。その後、ローカルホストを経由してアクセスすることができます:81

version: '2' 
services: 
    mariadb: 
    image: bitnami/mariadb:latest 
    volumes: 
     - /path/to/mariadb-persistence:/bitnami/mariadb 
    wordpress: 
    image: bitnami/wordpress:latest 
    depends_on: 
     - mariadb 
    ports: 
     - '81:80' 
     - '443:443' 
    volumes: 
     - ./wordpress-persistence:/bitnami/wordpress 
     - ./apache-persistence:/bitnami/apache 
     - ./php-persistence:/bitnami/php 

を私はdomain.com.devとしてこれにアクセスできるようにしたいので、私はnginx-proxyの実装を見ました。そこの指示に従って、およびDocker nginx-proxy : proxy between containersからいくつかのインスピレーションで、私は次のを思い付いた:

これで docker-compose up -dを実行する
version: '2' 
services: 
    nginx-proxy: 
    image: jwilder/nginx-proxy 
    container_name: nginx-proxy 
    restart: always 
    ports: 
     - "88:80" 
    volumes: 
     - "/var/run/docker.sock:/tmp/docker.sock:ro" 

    mariadb: 
    image: bitnami/mariadb:latest 
    volumes: 
     - //c/websites/domain_com/mariadb-persistence:/bitnami/mariadb 
    domain.com.dev: 
    image: bitnami/wordpress:latest 
    depends_on: 
     - mariadb 
    ports: 
     - '81:80' 
    environment: 
     - VIRTUAL_HOST=domain.com.dev 
    volumes: 
     - //c/websites/domain_com/wordpress-persistence:/bitnami/wordpress 
     - //c/websites/domain_com/apache-persistence:/bitnami/apache 
     - //c/websites/domain_com/php-persistence:/bitnami/php 

エラーなく終了したように見えます。しかし、ブラウザでdomain.com.devにアクセスすると、デフォルトのIndex of/pageが得られます。これは、どこかで途中で途切れてしまったことを示唆していますが、すべてではありません。ローカルフォルダを見ると、それらは作成されますが、wordpress-persistenceが入力されないようで、ブラウザのデフォルトビューを説明することができます。

これが期待どおりに起こっていない理由についてのご意見はありますか?私が見逃した何か明白な何か?

答えて

0

1)最初のアプローチでは、設定を完了する必要があります。 あなたは(ポート80)を実行しているウェブサーバ(nginxのは、Apacheなど)を持っていない場合は - ちょうど8081からポートを変更:

ports: 
     - '80:80' 
     - '443:443' 

をし、あなたのhostsにレコード「127.0.0.1 domain.com.dev」を追加ファイル(/etc/host s in linux)。

P.S.あなたは第二のアプローチで88から80にポートを変更すること - あなたはポート80で実行されているwevserverを持っている場合、それはhostsファイル

を変更せずに動作します - それは、バーチャルホストの設定ファイルで、あなたのプロキシのディレクティブに必要とされています。

server { 
    listen 80 default_server; 
    server_name _; 

    include expires.conf; 

    location/{ 
     proxy_set_header Host    $host; 
     proxy_set_header X-Real-IP   $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-Forwarded-Proto $scheme; 
     proxy_pass http://172.17.0.1:81; 
     proxy_http_version 1.1; 
    } 
} 

2)第二のアプローチは、通常dnsmasq構成で使用されている:ここでは一例です。 thisおよびthisのリンクを使用して、詳細な情報と設定例を入手してください。

関連する問題