ローカル環境で名前解決したいけど、 hosts
の管理が面倒だったり、AndroidやiPhoneなどのスマホから名前解決が出来ない場合、ローカルに内部DNSサーバを立てて解決します
サンプル
Dockerの方が手軽で楽ですが、Dockerを使わない(or使えない)場合の setup.sh
もあるので、Debian系列の場合は参考になればと思います(Raspberry PI向けに作りました)
Dockerfile
andyshinn/dnsmasqイメージを利用させてもらいます。Dockerfile
も以下の通り、たった4行なのでとてもシンプルです
1 | FROM alpine:edge |
DNSサーバ側: docker-compose.yml
extra_hosts
にドメインとIPを列挙します
1 | dnsmasq: |
あとはupするだけです
1 | $ docker-compose up -d |
クライアント側: DNSの設定をする
クライアントはWindowsだったりMacだったりするので割愛しますが、例えばWindowsだとこんな感じに、DNSサーバを設定に記述して下さい。(AndroidやiPhoneなども、検索すれば設定方法出てくると思います)
クライアント側: 確認
IPが引けるか確認します
1 | $ nslookup hoge.local |