私は彼らの ウェブページ をフォローしている間に Docker-Toolbox をインストールしました。
私はDocker QuickStart Terminal
から始めて、以下を見てください
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com
bash-3.2$
しかし、私がdocker pull hello-world
を実行しようとするとき、これは私が見るものです
bash-3.2$ docker run hello-world
Unable to find image 'hello-world:latest' locally
Pulling repository docker.io/library/hello-world
Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/hello-world/images. You may want to check your internet connection or if you are behind a proxy.
bash-3.2$
どうしましたか?
私は今朝同じ問題を抱えていました、そして、以下は私のためにそれを直しました:
$ docker-machine restart default # Restart the environment
$ eval $(docker-machine env default) # Refresh your environment settings
これはDocker仮想マシンが自分自身を奇妙な状態に陥らせたためと思われます。未解決の github問題がここにあります
Windows 10にツールボックスなしでDockerをインストールしたので、Hyper-Vが必要なバージョンを有効にする必要があります。
Dockerバージョン1.12の場合、タスクバーに移動し、Dockerアイコンを右クリックし、[設定] - > [ネットワーク]を選択し、DNSサーバーを固定に設定すると、GoogleのDNSサーバー8.8.8.8
が使用されます。
その設定が変更されると、ついにうまくいきました。
より簡単な解決策は、/ etc/default/dockerファイルに次のエントリを追加することです。
export http_proxy = "http:// Host:PORT /"
そしてdockerサービスを再起動します
service dockerの再起動
更新2016年8月
Docker for Mac(バージョン1.12.0)を使用すると、次の形式の問題が発生していました。
➜ docker pull node
Using default tag: latest
Pulling repository docker.io/library/node
Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/node/images. You may want to check your internet connection or if you are behind a proxy.`enter code here`
これは、次のDNSエントリを含むように私のMacBook Proワイヤレスネットワーク設定を更新することで解決されました:8.8.8.8
さらなる情報については、ここに与えられた答えを提供したこの(日付を付けられた) 問題 を見てください。
私は、VBOX 5.10のDocker VMを使って私のMAC(Host)上でDockerを実行することでこの問題に出会いました。それはネットワーキングの問題です。簡単な解決策は、ブリッジネットワークをVBOXイメージに追加することです。 VMに付属のNAT設定を使用できますが、sshポートを50375から2375に変更する必要があります。
Sudo service docker stop
Sudo service docker start
私のために動作します。
どういうわけか、Sudo service docker restart
は動作しませんでした
(RHEL7)
デフォルトマシンにログオン
$ docker-machine ssh default
プロファイルを更新してプロキシ設定を更新する
docker@default:~$ Sudo vi /var/lib/boot2docker/profile
必要に応じて下から追加
# replace with your office's proxy environment
export"HTTP_PROXY=http://PROXY:PORT"
export"HTTPS_PROXY=http://PROXY:PORT"
# you can add more no_proxy with your environment.
export"NO_PROXY=192.168.99.*,*.local,169.254/16,*.example.com,192.168.59.*"
出口
docker@default:~$ exit
Docker machineを再起動します
docker-machine restart default
環境設定を更新する
eval $(docker-machine env default)
上記の手順は少し調整されていますが、トラブルシューティングガイドに記載されているとおりです。 https://docs.docker.com/toolbox/faqs/troubleshoot/#/update-varlibboot2dockerprofile-on-the-docker-machine
私は昨日この問題とまったく同じ問題に遭遇し、「DNS」を8.8.8.8に修正するような「一般的な」答えはどれも私にはうまくいきませんでした。私は結局このリンクで起こりました、そしてそれはトリックをしました... https://github.com/docker/for-win/issues/16
Docker for Windows、Windows 10、およびHyper-Vの間では、仮想ネットワークアダプターの作成プロセス中に問題があるようです。具体的には、2つの「vEthernet(DockerNAT)」ネットワークアダプタになる可能性があります。これをGet-NetAdapter "vEthernet (DockerNAT)"
(高位PowerShellコンソール内)で確認してください。結果に複数のアダプタが表示される場合は、無効にして名前を変更できます。
$vmNetAdapter = Get-VMNetworkAdapter -ManagementOS -SwitchName DockerNAT
Get-NetAdapter "vEthernet (DockerNAT)" | ? { $_.DeviceID -ne $vmNetAdapter.DeviceID } | Disable-NetAdapter -Confirm:$False -PassThru | Rename-NetAdapter -NewName "OLD"
次に、[デバイスマネージャ]を開き、無効になっているアダプタを削除します(何らかの理由で、ここからこれを実行できますが、[ネットワーク]および[共有センター]アダプタビューからは実行できません)。
Windows 10の場合:systray dockerアイコンを右クリック - >設定... - >リセット - > Dockerの再起動
ネットワークに問題があると思います。あなたは代理人ですか?それはdocker.io
への接続をフィルターにかけるか、またはdockerユーザーエージェントをブロックすることは可能ですか?
ツールボックスをインストールしてテストを実行しました。これはうまくいきます。
docker is configured to use the default machine with IP 192.168.99.101
For help getting started, check out the docs at https://docs.docker.com
bash-3.2$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
535020c3e8ad: Pull complete
af340544ed62: Already exists
library/hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
Digest: sha256:d5fbd996e6562438f7ea5389d7da867fe58e04d581810e230df4cc073271ea52
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.
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 Hub account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/userguide/
bash-3.2$
私の場合は、Alpine Linuxにdockerをインストールするとエラーになります。
https://index.docker.io/v1/repositories/library/ ........に接続しようとしたときに、ネットワークがタイムアウトしました。
ここでスクリプトを使用する: https://github.com/docker/docker/blob/master/contrib/download-frozen-image-v2.sh
動作します。 curlを使って画像をダウンロードし、それを解凍して「docker load」する方法を説明します。
私は8.8.8.8で静的DNSの上記の方法を試して、ipv6を無効にして(私はプロキシのことを理解していませんでした)、それらのどれも私のために働きませんでした。
編集9/8/2016:
私は当初opensshの代わりにdropbearを使っていました。 opensshを使用してAlpineを再インストールすると問題が解決しました。
次の問題は、プル中の「ApplyLayer終了状況1 stdout:stderr:chmod/bin/mount:許可が拒否されました」というエラーでした。
(nixaid.com/grsec-in-docker/)から:
Dockerイメージを構築するには、以下のgrsec保護を無効にする必要がありました。次のように/etc/sysctl.d/grsec.confを修正します。
kernel.grsecurity.chroot_deny_chmod = 0 kernel.grsecurity.chroot_deny_mknod = 0 kernel.grsecurity.chroot_caps = 0#systemdパッケージに関連/ CAP_SETFCAP
アルパインの場合は
/etc/sysctl.d/00-Alpine.conf
リブート
Dockerサービス用のsystemdドロップインディレクトリを作成します。
$ Sudo mkdir -p /etc/systemd/system/docker.service.d
/etc/systemd/system/docker.service.d/http-proxy.conf
環境変数を追加するHTTP_PROXY
というファイルを作成します。
[サービス]
Environment="HTTP_PROXY=http://proxy.example.com:80/"
それが役に立てば幸い
Dockerを再起動したり、イメージを再作成しても役に立ちませんでした。私は無駄にWindowsを再起動しました。
驚いたことに、実行中のコンテナに侵入してcurl https://index.docker.io/v1/repositories/library/hello-world/images
を実行したとき、私は完全に有効な応答を得ました。
64ビットWindows 10 Proでは、VirtualBoxで Dockerツールボックス を使用しました。
私の場合の解決策は、古いDockerバージョンをアンインストールし、 VirtualBoxの代わりにHyper-V を使用する新しいバージョンをインストールすることでした。
今Dockerは再び動作します。
別のシナリオ:dockerネットワークアダプタが無効になっていると、このエラーで失敗します。アダプタの名前は「vEthernet(DockerNAT)」などです。どうやらこのアダプタは通常のdocker pullの振る舞いに関係しています。有効にして問題を解決してください。
プロキシの背後にいる場合は、HTTP_PROXY
およびHTTPS_PROXY
envを設定するだけでは不十分です。マシン作成中に設定する必要があります。
このためのパラマーは--engine-env
です。
docker-machine create -d "virtualbox" --engine-env HTTP_PROXY=http://<PROXY>:<PORT> --engine-env HTTPS_PROXY=<PROXY>:<PORT> dev
あなたがプロキシの後ろにいるなら親切に下記のコマンドを使ってください
Sudo mkdir /etc/systemd/system/docker.service.d
Sudo cd /etc/systemd/system/docker.service.d
Sudo vi http-proxy.conf
[Service] Environment=HTTP_PROXY=http://proxy-server-ip:port" "NO_PROXY=localhost,127.0.0.1" Sudo systemctl daemon-reload Sudo systemctl show --property=Environment docker Sudo systemctl restart docker
最新のUbuntuを取得できる場合はこれを試してください
Sudo docker run -it ubuntu bash
ローカルで画像ubuntu:latest
が見つかりません
最新:ライブラリーからのプル/ ubuntu b3e1c725a85f:プル完了
4daad8bdde31:プル完了
63fe8c0068a8:プル完了
4a70713c436f:引き抜き完了
bd842a2105a8:プル完了
ダイジェスト:
sha256:7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a
ステータス:ubuntuの最新画像をダウンロード:最新
それはついに私のために働きました:)
私はboot2dockerでこれと同じ問題を抱えていて、それを再起動することによってそれを修正しました:
boot2docker restart
私は1.10.1
で今日これに遭遇しましたが、既存の解決策はどれもうまくいきませんでした。再起動、アップグレード、証明書の再生成などを試みました。
私はマシン上にたくさんのネットワークが作成されていることに気づいた。それらを削除した後:
docker network ls | grep bridge | awk '{print $1}' | xargs -n1 docker network rm
DNSは再び働き始めました。
注:定義済みネットワークに関するエラーは無視してもかまいません