概要
- EC2マシン上で、docker-compose buildを実行するとload metadata for docker.io/library/xxxxx:y.zzというエラーが発生する
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to authorize: rpc error: code = DeadlineExceeded desc = failed to fetch anonymous token: Get "https://auth.docker.io/token?scope=repository%3Alibrary%2Fxxxx%3Apull&service=registry.docker.io": dial tcp xxx.xxx.xxx.xxxx:443: i/o timeout
想定環境
- AWSにおいて、オンプレ環境を経由して、外部ネットワークに接続している
対応方法
- 各環境変数にプロキシ認証・接続情報を設定する必要がある
- HTTP_PROXY
- HTTPS_PROXY
- http_proxy
- https_proxy
export USER_ID=your_user_id export PASSWORD=your_password export PROXY_SERVER_NAME=your_proxy_server_name export PROXY_SERVER_PORT=8080 echo 'export USER_ID=${USER_ID}' >> ~/.bash_profile echo 'export PASSWORD=${PASSWORD}' >> ~/.bash_profile echo 'export HTTP_PROXY=http://${USER_ID}:${PASSWORD}@${PROXY_SERVER_NAME}:${PROXY_SERVER_PORT}' >> ~/.bash_profile echo 'export HTTPS_PROXY=http://${USER_ID}:${PASSWORD}@${PROXY_SERVER_NAME}:${PROXY_SERVER_PORT}' >> ~/.bash_profile echo 'export http_proxy=http://${USER_ID}:${PASSWORD}@${PROXY_SERVER_NAME}:${PROXY_SERVER_PORT}' >> ~/.bash_profile echo 'export https_proxy=http://${USER_ID}:${PASSWORD}@${PROXY_SERVER_NAME}:${PROXY_SERVER_PORT}' >> ~/.bash_profile echo 'export no_proxy=localhost,127.0.0.1',169.254.169.254 >> ~/.bash_profile source ~/.bash_profile
docker.serviceに対してプロキシ認証設定を実施しておけば良いものと思っていたが、環境変数の設定も必要だった。