web-dev-qa-db-ja.com

Dockerビルド中にDNSオプションを設定する

ローカルネットワークの構成により、-dnsおよび--dns-searchオプションをdocker runコマンドに追加する必要があります。

docker run --dns XX.XX.1.1 --dns-search companydomain -t mycontainer

ただし、Dockerビルドには同じオプションがありません。ビルド中にこれらのオプションを指定する方法はありますか?

14
Julio César

Dockerビルドは、ホストで実行されているdockerエンジンのDNS設定を使用します。エンジンのDNS設定を更新する手順については、 my answer here を参照してください。

4
BMitch

Dockerfileベースのソリューション

RUNコマンドごとのレベルでDNSルックアップの問題を修正することもできます。

RUN echo "nameserver XX.XX.1.1" > /etc/resolv.conf && \ 
    echo "search companydomain" >> /etc/resolv.conf && \    
    command_depending_on_dns_resolution

覚えておいてください:/etc/resolv.confへの変更は永続的ではないため、これはこの1つのRUNコマンドのDNS解決動作のみを変更します( コアDockerエンジニアの1人からのコメント Brian Goff)。

9
Murmel