環境
- windows10
- docker toolbox
エラー発生
docker run
コマンドを打つだけで以下のようなエラーが出ました。$ docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 10.0.2.3:53: read udp 10.0.2.15:39085->10.0.2.3:53: i/o timeout.
See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.
対処
DNSの名前解決ができていないらしいので、Google Public DNS を追加します。/etc/resolv.confにDNSを追加
/etc/resolv.conf
にnameserver 8.8.8.8
を追加しましょう。ここでは手っ取り早くワンライナーでできる方法とvmに入って操作する方法の2つを紹介します。
ワンライナー
以下のコマンドで一発でできます。docker-machine ssh default "sudo sh -c 'echo \"nameserver 8.8.8.8\" >> /etc/resolv.conf'"
これでdocker run --rm hello-world
コマンドを打つとできました。$ docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:b8ba256769a0ac28dd126d584e0a2011cd2877f3f76e093a7ae560f2a5301c00
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
vmに入って追加
まずvmの中に入ります。docker-machine ssh default
その後、/etc/resolv.conf
にnameserver 8.8.8.8
追加します。そのままだとpermissionがないのでsudo
も使いましょう。sudo vi /etc/resolv.conf #add "nameserver 8.8.8.8"
もしくはcat
で追加します.sudo sh -c 'echo "nameserver 8.8.8.8" >> /etc/resolv.conf'
終わったあとはexit
して、docker run --rm hello-world
をやるとちゃんと動きました。$ exit # vmから抜ける.
$ docker run --rm hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:b8ba256769a0ac28dd126d584e0a2011cd2877f3f76e093a7ae560f2a5301c00
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
0 コメント:
コメントを投稿