2017-04-15 3 views
0

Dockerを使用してLEMPローカル開発環境をセットアップしようとしています。以下の私のドッキングウィンドウ-composer.ymlです:仮想ホストをドッカーのコンテナにマップするにはどうすればよいですか?

version: '2' 
services: 
    apache: 
    build: 
     context: ./docker/apache-php7 
     dockerfile: Dockerfile 
    image: foo/apache-php7 
    volumes: 
     - .:/var/www/html 
    ports: 
     - "80:80" 
     - "443:443" 
    networks: 
    - localnet 
    node: 
    build: 
     context: ./docker/node 
     dockerfile: Dockerfile 
    image: foo/node 
    volumes: 
    - .:/var/www/html 
    networks: 
    - localnet 
    mysql: 
    image: mysql:5.7 
    ports: 
    - "3306:3306" 
    environment: 
     MYSQL_ROOT_PASSWORD: "root" 
     MYSQL_DATABASE: "root" 
     MYSQL_USER: "root" 
     MYSQL_PASSWORD: "root" 
    volumes: 
    - mysqldata:/var/lib/mysql 
    networks: 
    - localnet 
    redis: 
    image: redis:alpine 
    volumes: 
    - redisdata:/data 
    networks: 
    - localnet 
networks: 
    localnet: 
    driver: "bridge" 
volumes: 
    mysqldata: 
    driver: "local" 
    redisdata: 
    driver: "local" 

私はhttp://localhostに行くことによって、サイトにアクセスすることができます。 http://localhostを使ってプロジェクトにアクセスするのではなく、それをhttp://foo.devにマップしようとしていますが、私の人生のために、私はそれをどのように達成できるのか分かりません。私が見た1つの例はthisですが、別のイメージを使用しており、nginxも使用しています。

+0

これまでに何を試しましたか? – johnharris85

+0

@ johnharris85それは怠惰に聞こえるかもしれませんが、私はどこから始めても迷っています。 Googleの公式ドキュメントを試してみましたが、私は正しい質問をしていないと思いますので、どこを見ているのかわかりません。 –

答えて

1

私は、Ubuntu 16.04に基づいているnimmis/apache-php7からforkされていると仮定しています。したがって、デフォルトでApacheはホスト名に関係なくHTTPリクエストと同じ方法で応答します。 あなたがする必要があるのは、サーバを指し示すfoo.dev DNSゾーンにA/AAAAレコードを設定することだけです。

ゾーンはどのような場合には、いくつかの注意が必要であるように見えます:

% host foo.dev 
foo.dev has address 127.0.53.53 
foo.dev mail is handled by 10 your-dns-needs-immediate-attention.dev. 

アドレスレコード・ポイントを使用すると、同じホスト上で、実際にしているまでは動作しませんlocalhostアドレスに。そこにはグローバルにルーティングされたIPアドレスが必要です。

+0

はい、nimmis/apache-php7イメージから分岐します。私はちょうど私のコンピュータのための開発環境を設定するためのA/AAAAレコードをセットアップする必要がある理由について少し混乱しています。私は現在、何をすべきかの例は次のとおりです。 1.ファイル名を指定して実行放浪ボックス 2.私の/ etcにIPアドレス(例:192.168.2.19) 3.を設定/ホストは次の行を追加します。 192.168.2.19 fooのを。 dev 私はfoo.devに移動すると、ローカルの仮想ボックスインスタンスを実行します。しかし、ドッカーと私はそれを把握していないようです。 Dockerで私の不注意を完全に逃していない限り、私はあなたの答えが役に立たないのですか? –

+0

http://foo.dev/にアクセスしようとするとどうなりますか? –

0

私がする必要があったのは、問題のサイトのApacheのconfファイルにServerNameディレクティブを追加するだけでした。私の場合、それは000-default.confでした。

ServerName foo.dev 

私はその後、私のホストは、以下を使用してファイル更新:私もそれがこれに私を指示するものであると私は答えとしてゲルトの答えをマークしていますようhostsファイルを更新する必要はありませんでした

127.0.0.1 foo.dev www.foo.dev 
関連する問題