環境情報
最終的なDockerのバージョン
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: 67f9a391
Built: 08/22/2018 09:10:07
OS/Arch: windows/amd64
Experimental: false
Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:29:02 2018
OS/Arch: linux/amd64
Experimental: false
ClientのOS:Windows 10 1803
ServerのOS:Windows 10 1803
環境構成
ここの人と同様、かつ、
Docker ServerをWindowsで作りました。
前提
ServerにはWindows Docker をインストールし、サーバー上でDocker コマンドによる
各種動作が実行できていることは確認済み
また、前記事で、
クライアントにはDocker クライアントが導入済みなものとする。
設定
クライアント側は以下のように環境変数を設定しておく。
set DOCKER_HOST=tcp://[サーバのIPアドレス]:2375
クライアントからDocker コマンドを実行
環境変数を設定してから、docker psコマンドを実行・・・が、以下のように接続に失敗。
※赤で塗りつぶしているのはサーバのIPアドレス
調査
サーバ側で拒否されているメッセージなので、サーバ側の受付アドレスを変更すればよいと推測。
が、見つからない。UNIXのDockerにある設定ファイル相当のものが見つからない。
そこで、発想の転換。
設定を変更できないなら、通信をなり済ませてあげればいいじゃない。
外部IPアドレスの特定ポートから来た通信をlocalhostの特定ポートへ変更すればよいのでは?
ポートフォワーディング
管理者権限のコマンドプロンプトで、以下を実行する
netsh interface portproxy add v4tov4 listenport=2375 listenaddr=(DockerサーバのIPアドレス) connectport=2375 connectaddress=localhost
成功したので、よしとする。
※自分用メモですが、何かあればコメントをお願いします。