私は、dnsmasq コンテナーに接続された openvpn コンテナーを起動する docker-compose 構成に取り組んでいます。openvpn サーバーは自動的に dnsmasq コンテナーを検出し、それを dns サーバーとして使用する必要があります。検出は、/etc/hosts ファイルでエントリ「dnsmasq」を検索することによって行われます。
次の docker-compose.yml ファイルがあります。
version: '2'
services:
data:
build: ./
dnsmasq:
cap_add:
- NET_ADMIN
hostname: dnsmasq
image: <dnsmasq image>
ports:
- 53:53/udp
restart: always
openvpn:
cap_add:
- NET_ADMIN
depends_on:
- data
- dnsmasq
image: <openvpn image>
ports:
- 1194:1194/udp
restart: always
volumes_from:
- data
dnsmasq コンテナーのホスト名として「dnsmasq」を指定し、それが openvpn コンテナーの「/etc/hosts」に表示されることを期待しています。これは起こらないようです。
これは、openvpn コンテナー内の /etc/hosts からのダンプです。
openvpn_1 | 127.0.0.1 localhost
openvpn_1 | ::1 localhost ip6-localhost ip6-loopback
openvpn_1 | fe00::0 ip6-localnet
openvpn_1 | ff00::0 ip6-mcastprefix
openvpn_1 | ff02::1 ip6-allnodes
openvpn_1 | ff02::2 ip6-allrouters
openvpn_1 | 172.19.0.4 d44a72f42ef9
d44a72f42ef9 は「dnsmasq」になると思います。
私は何を間違っていますか?
docker-compose 1.8.1 を実行しています。