🐳
Docker Desktop3.0.0でビルド出来ない?!
このような症状でお困りの方に
マシンを新調し、せっかくだからDocker desktopも最新の3.0.0を導入するか!
ということで、導入したはよいが、なぜか何をビルドしても以下のようなエラーが出て困った..
という方向けの記事です。
エラー出力内容
C:\Users\hoge\getting-started>docker build -t docker101tutorial .
[+] Building 12.6s (8/8) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.35kB 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 34B 0.0s
=> ERROR [internal] load metadata for docker.io/library/nginx:alpine 12.5s
=> ERROR [internal] load metadata for docker.io/library/node:12-alpine 12.5s
=> ERROR [internal] load metadata for docker.io/library/python:alpine 12.5s
=> [auth] library/nginx:pull token for registry-1.docker.io 0.0s
=> [auth] library/node:pull token for registry-1.docker.io 0.0s
=> [auth] library/python:pull token for registry-1.docker.io 0.0s
------
> [internal] load metadata for docker.io/library/nginx:alpine:
------
------
> [internal] load metadata for docker.io/library/node:12-alpine:
------
------
> [internal] load metadata for docker.io/library/python:alpine:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to authorize: rpc error: code = Unknown desc = failed to fetch oauth token: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fnginx%3Apull&service=registry.docker.io: dial tcp: lookup auth.docker.io: getaddrinfow: This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server.
発生する環境
- Docker Desktop: 3.0.0
- 社内LANからproxy経由でイメージをPULLしている
- Docker Engine の buildkit を true にしている ← 新規インストールの場合、自動で設定される
proxy設定
Engine設定
解消方法
以下2つの方法を紹介します。
1. docker.io を insecure-registries に追加
Docker Engine 設定画面にてinsecure-registriesにdocker.ioを設定します。
{
"registry-mirrors": [],
"insecure-registries": ["docker.io"],
"debug": false,
"experimental": false,
"features": {
"buildkit": true
}
}
2. buildkit を false に設定
Docker Engine 設定画面にてbuildkitをfalseに設定します。
{
"registry-mirrors": [],
"insecure-registries": [],
"debug": false,
"experimental": false,
"features": {
"buildkit": false
}
}
さいごに
社内LANでdocker使うのは結構大変です。
自宅環境だと苦もなくbuild出来ていたものが、全く通らないとか。
いろいろ手を尽くしてみるが最終的には諦めて、テザリングや自分のdockerhubアカウントに一時的にpushしたイメージをpullしたりします。
この記事が皆さんのお役に立てれば嬉しいです。
また、他にもっとよい方法があればアドバイスください。
Discussion