私は、virtualboxを介してWindows上でboot2docker1.4.1を実行しています。私はMITMがhttps証明書を使用するプロキシの背後にいます。 /var/lib/boot2docker/profile
に次の行を追加して、プロキシを構成しました。
export HTTP_PROXY=<proxyhost>:80
export HTTPS_PROXY=<proxyhost>:80
DOCKER_TLS=no
EXTRA_ARGS="--insecure-registry index.docker.io"
ただし、docker@boot2docker:~$ docker run hello-world
を実行すると
Unable to find image 'hello-world:latest' locally
Pulling repository hello-world
FATA[0006] Get https://index.docker.io/v1/repositories/library/hello-world/images
: x509: certificate signed by unknown authority
証明書エラーを無視する正しい方法を見つけるのを手伝ってください。ありがとう!
編集新しいDockerは Windows 10の特定のフレーバー でのみ機能するようです。それでもWindows7を使い続ける場合は、最新バージョンのdocker-toolboxをインストールしたときに「証明書チェーン内の自己署名証明書」エラーを修正するために実行する必要のある手順を反映するように以下を更新しました( Docker 1.11.2 )。
最後に、ここでの回答に従って、これをWindows 7で機能させました: https://github.com/boot2docker/boot2docker/issues/347
openssl s_client -showcerts を実行して、これが問題であることを確認します。
docker@boot2docker:~$ openssl s_client -showcerts -CApath . -connect index.docker.io:443
(編集:-showcertsから32を削除し、ホスト名を修正しました)
証明書チェーンでは、プロキシがそれ自体を挿入し、検証が次のようなエラーを返すことがわかります。
Verify return code: 19 (self signed certificate in certificate chain)
同じ問題が発生した場合は、以下の手順を試してください。
docker@boot2docker:~$ Sudo mkdir /var/lib/boot2docker/certs/
docker@boot2docker:~$ Sudo cp /c/Users/<username>/<folder>/<proxy-cert>.pem /var/lib/boot2docker/certs/
/var/lib/boot2docker/bootlocal.sh
そして https://Gist.github.com/irgeek/afb2e05775fff532f96 からのソースを含めます(私はNotepad ++を使用してWindowsでファイルを作成し、上記の手順と同様に正しい場所にコピーしました)C:\>docker-machine restart
docker-machine ssh
そして変更が機能したことを確認します:docker run hello-world
次のようなものを含む出力が表示されます。
Hello from Docker.
This message shows that your installation appears to be working correctly.