DNSの設定
行う構成コンテナのホスト名とDNSをカスタマイズする方法?秘密はドッカーコンテナに3つの構成ファイルをマウントする仮想ファイルを使用することです。
使用したコンテナ内のmount
マウント情報を見ることができますコマンドを:
$ mount
/dev/disk/by-uuid/1fec...ebdf on /etc/hostname type ext4 ...
/dev/disk/by-uuid/1fec...ebdf on /etc/hosts type ext4 ...
tmpfs on /etc/resolv.conf type tmpfs ...
このメカニズムは、DNS情報の更新が発生したホストのホストを介して、設定されたすべてのDNSドッカーコンテナことができます/etc/resolv.conf
すぐに更新されたファイルを。
すべてのコンテナのDNSを設定し、それがで可能/etc/docker/daemon.json
セットアップファイルに次のように増加しました。
{
"dns" : [
"114.114.114.114",
"8.8.8.8"
]
}
このような容器はそれぞれ、DNSに設定され、自動的に起動する114.114.114.114
と8.8.8.8
。それが発効したことを実証するために、次のコマンドを使用します。
$ docker run -it --rm ubuntu:18.04 cat etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
ユーザーが手動でコンテナの設定を指定したい場合は、使用ができるdocker run
コマンドは、次のパラメータを開始する際にコンテナに追加します:
-h HOSTNAME
または--hostname=HOSTNAME
コンテナの設定のホスト名、それはコンテナに書き込まれます/etc/hostname
と/etc/hosts
。しかし、それは見ていない、どちらもコンテナの外にすることはできませんdocker container ls
表示、ではない他の容器に/etc/hosts
見て。
--dns=IP_ADDRESS
コンテナにDNSサーバーを追加し/etc/resolv.conf
、サーバーとのコンテナがすべてではない解決するように、/etc/hosts
ホスト名に。
--dns-search=DOMAIN
セットコンテナの検索フィールドは、検索フィールドがときに設定され.example.com
た時間、ホストという名前のホストを探し、DNSホストだけでなく、検索でなく、検索をhost.example.com
。
注意:コンテナの起動時に、最後の二つのパラメータが指定されていない場合は、ホスト上のデフォルトでドッカーは、/etc/resolv.conf
コンテナを設定します。
T