私は以下を持っていますdocker-compose.yml
php:
build: ./phpfpm
volumes:
- ~/works/codes:/code
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ~/works/codes:/code
- ./nginx/etc/conf.d/virtual.conf:/etc/nginx/conf.d/virtual.conf
- ./nginx/var/log/nginx:/var/log/nginx
links:
- php
Webコンテナ内に2つの仮想ホストをセットアップしました
app.lan
api.lan
私のphp
アプリケーションでは、curl をapi.lan
. しかし、それは投げますCould not resolve host: api.lan
私のdockerホストでは、次を/etc/hosts
ファイルに追加しました
127.0.0.1 app.lan
127.0.0.1 api.lan
docker ホスト マシンからapi.lan
問題なく curl できます。しかし、web
コンテナはdockerホストマシンから名前を解決していないようです。
コンテナーの IPを見つけて、web
それを次のように php コンテナーのホスト ファイルに入れると、機能します。
172.18.0.5 api.lan
しかし、docker compose でこれを自動化するにはどうすればよいですか。または、これに関する他のベストプラクティスはありますか?
さらに/etc/resolve.conf
、どちらかのコンテナを猫にすると、次のことがわかります。
search local
nameserver 127.0.0.11
options ndots:0
この 127.0.0.11 は何ですか? ホストマシンですか?
「Docker for Mac」を使用していますv 1.12.1