DockerでDnsmasqを使った内部DNSサーバを構築するメモ
andyshinn/dnsmasqイメージを利用させてもらいます。Dockerfile
も以下の通り、たった4行なのでとてもシンプルです
1 2 3 4
| FROM alpine:edge RUN apk --no-cache add dnsmasq EXPOSE 53 53/udp ENTRYPOINT ["dnsmasq", "-k"]
|
DNSサーバ側: docker-compose.yml
extra_hosts
にドメインとIPを列挙します
1 2 3 4 5 6 7 8 9 10 11
| dnsmasq: image: andyshinn/dnsmasq container_name: dnsmasq ports: - "53:53/udp" - "53:53/tcp" extra_hosts: - "hoge.local:192.168.2.100" - "admin.hoge.local:192.168.2.100" cap_add: - NET_ADMIN
|
あとはupするだけです
クライアント側: DNSの設定をする
クライアントはWindowsだったりMacだったりするので割愛しますが、例えばWindowsだとこんな感じに、DNSサーバを設定に記述して下さい

クライアント側: 確認
IPが引けるか確認します
1 2 3 4 5 6
| $ nslookup hoge.local Server: 10.0.2.3 Address: 10.0.2.3#53
Name: hoge.local Address: 192.168.2.100
|