ぷちスタディ@EC2 docker DNS設定

AWS上のdockerホストでlogin, pull, push などのリクエストをする際にEC2インスタンスのdocker DNS設定が必要な時があったのでめも。

docker ログインしようとすると

$ cat .mydockerpass.txt | docker login --username foo --password-stdin
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

dockerレジストリに接続できない罠。そんなときは /etc/resolv.conf にネームサーバーを追記。

# vi /etc/resolv.conf

options timeout:2 attempts:5 ; generated by /usr/sbin/dhclient-script search ap-northeast-1.compute.internal info nameserver 172.31.0.2
nameserver 8.8.8.8 ← (追記

# systemctl restart docker

Debian コンテナ内から外部への通信が次のエラーでできないときは /etc/docker/daemon.json を作成。

Error :http://deb.debian.org/debian/dists/buster/InRelease Temporary failure resolving 'deb.debian.org' 

# vi /etc/docker/daemon.json

{ "dns": ["8.8.8.8", "8.8.4.4"] }
# systemctl restart docker

これでapt-get update && apt-get install ができるようになりました。

参考URL:【Docker】イメージのビルド時にTemporary failure resolving ‘deb.debian.org’が発生する

同じカテゴリーの記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です