🚀
Docker リバースプロキシでhosts追加をやめる
複数プロジェクトをdocker composeで動かす場合、それぞれにバーチャルホストを割り当てて、リバースプロキシを置く、ということがあると思います。
docker-compose.yml
は大体こんな感じ。
version: '3'
services:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
restart: always
dns:
image: andyshinn/dnsmasq
ports:
- "53:53/udp"
- "53:53/tcp"
volumes:
- ./config/dnsmasq/dnsmasq.conf:/etc/dnsmasq.conf
restart: always
networks:
default:
external: true
name: sample_network
ですが、現状MacOS上だと、都度バーチャルホスト名をhostsファイルに追記しなければ、正常にアクセスができないようです。
127.0.0.1 myproject.test
担当が1プロジェクトなら良いですが、案件が増えたり、ジョインするメンバーが増えたりするたびにその作業が発生するのはかなり手間です。
ローカル上で、下記の設定を行えば、hostsファイルへの追記は不要になります。
※ test の部分は使っているドメインに合わせて適宜変更してください。
example.test → test
example.local → local
sudo mkdir -v /etc/resolver
sudo bash -c 'echo "nameserver ::1" >> /etc/resolver/test'
sudo bash -c 'echo "nameserver 127.0.0.1" >> /etc/resolver/test'
Discussion