@CarlosRafaelRamirezは適切な場所について言及しましたが、Windows開発者はしばしばLinuxエコシステムに慣れていないため、いくつかの詳細を追加して詳細なステップバイステップの説明を提供します。
免責事項:以下の手順は、WindowsホストからドッカーリモートAPIをヒットすることを可能にしますが、心の中で二つのことを保管してください。
- それは非常ないドッカーマシンを作るように、これは生産に行われるべきではありません安全です。
- 現在のソリューションでは、
docker-machine
とすべてのdocker
CLI機能がほとんど無効になっています。 docker-machine ssh
は稼動し続け、SSHをドッカーマシンに強制的に送信してdocker
コマンドにアクセスします。
ソリューション さて、ここで非TLSポートにドッカーのAPIを切り替えるために必要な手順は次のとおりです。 (Dockerマシン名は「default」とみなされますが、マシン名が異なる場合は、以下のコマンドで指定する必要があります)。
- 「Docker Quickstart Terminal」を起動します。 Bashシェルを起動し、以下のコマンドをすべて実行します。
docker-machine ip
コマンドを実行し、ドッカーホストマシンのIPアドレスを書き留めます。そして、これは、ドッカーホストの設定がされている「プロファイル」ファイルを、編集するために必要なシステム特権モードでは、「VI」のエディタを起動し
docker-machine ssh
cd /var/lib/boot2docker
sudo vi profile
を行います。 (Windowsユーザーとして、viに精通していない場合は、超基礎的なクラッシュコースがあります。ファイルがviで開いているとき、viは編集モードではありません。 "i"を押して編集モードを開始します。変更を保存しないでviを終了する必要がある場合は、Esc
の後に:q!
と入力してEnterキーを押します。 ":"はviのコマンドモードをオンにし、 "q!"コマンドは保存せずに終了することを意味します。詳細なコマンド情報はhereです。
- viを使用して、DOCKER_HOSTを
DOCKER_HOST='-H tcp://0.0.0.0:2375'
に変更し、DOCKER_TLS=no
に設定します。上記のように変更を保存します。
exit
SSHセッションを終了します。
docker-machine restart
doockerマシンが再起動した後、あなたのsouldはhttp://dokerMachineIp:2375/containers/json?all=1
のように、ドッキングウィンドウのAPIのURLをヒットすることができ、かつ有効なJSONを取り戻します。
これは、の最終目標を達成するために必要なステップのです。
docker-machine config
またはdocker images
を実行しようとすると、docker CLIクライアントが古いポート/ TLS設定を介してDockerに接続しようとしていることを示すエラーメッセージが表示されます。しかし私には予想されなかった何を、私はすべてのGetting Started方向に続いて、
$ env | grep DOCKER
DOCKER_HOST=tcp://192.168.99.101:2375
DOCKER_MACHINE_NAME=default
DOCKER_TLS_VERIFY=0
DOCKER_TOOLBOX_INSTALL_PATH=C:\Program Files\Docker Toolbox
DOCKER_CERT_PATH=C:\Users\USERNAME\.docker\machine\machines\default
結果が得られ、export DOCKER_HOST=tcp://192.168.99.101:2375
とexport DOCKER_TLS_VERIFY=0
を実行した同じだった後でも、ということである。
$ docker-machine env
Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.101:2376"
あなたが表示された場合Docker CLIを新しいDockerホストアドレスに設定するために環境変数をどのように変更したかにかかわる問題です。コメントしてください。
この問題を回避するには、docker-machine ssh
コマンドを使用し、その後にdocker
コマンドを実行します。
ここに答えがあります:http://stackoverflow.com/questions/26424338/docker-daemon-config-file-on-boot2docker-docker-machine-docker-toolbox/26781047#26781047よろしくお願いします。 –
@CarlosRafaelRamirez、よろしいですか?重複する質問ですか?もしそうなら、それにフラグを立てることができます。 – Rao
質問は同じではありません。同じ話題ではありません。しかし、同じファイルで解決することができます。人々がこの解決策を探しているので、DNSに関連する他の解決策とは異なるこの質問を残すことが重要です。 –