Windows/cygwin環境でDockerを実行する

Windows/cygwin環境でDockerを実行する

dockerDocker Toolboxをインストールした後、cygwinシェルで実行してみましたが、次のような結果が得られました。cygwinwindowsdocker version

$ docker version
Could not read CA certificate "\\cygdrive\\c\\Users\\Alexey\\.docker\\machine\\machines\\default\\ca.pem": open \cygdrive\c\Users\Alexey\.docker\machine\machines\default\ca.pem: The system cannot find the path specified.

ただし、実際のファイル/cygdrive/c/Users/Alexey/.docker/machine/machines/default/ca.pemがあり、問題は証明書ファイルのパスに無効なスラッシュがあるようです(Windows対UNIX)。ところで、どこで直すべきかわかりません。

以下は ~/.bash_profile に設定された環境変数です。

export DOCKER_HOST=tcp://192.168.99.100:2376
export DOCKER_MACHINE_NAME=default
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=/cygdrive/c/Users/Alexey/.docker/machine/machines/default
export TERM=cygwin

修正する

Alexey@Alexey-PC ~
$ echo $DOCKER_CERT_PATH
/cygdrive/c/Users/Alexey/.docker/machine/machines/default/

Alexey@Alexey-PC ~
$ docker version
Could not read CA certificate "\\cygdrive\\c\\Users\\Alexey\\.docker\\machine\\machines\\default\\ca.pem": open \cygdrive\c\Users\Alexey\.docker\machine\machines\default\ca.pem: The system cannot find the path specified.

解決策DOCKER_CERT_PATH以下の@cloverhapが提案したように環境変数を設定する必要がありますが、これにはcygwin以外のWindowsパスを含める必要があり、バックスラッシュをエスケープする必要があるため、回避策は次のように追加することです。

export DOCKER_CERT_PATH=C:\\Users\\%USERNAME%\\.docker\\machine\\machines\\default

到着.bash_profile

ベストアンサー1

私のcygwin環境では、実際にdocker証明書パスは次のように設定されていますが、dockerが正しく機能しているようです。

DOCKER_CERT_PATH=C:\Users\user\.docker\machine\machines\default

エラーは実際に以下に報告されます。

DOCKER_CERT_PATH=/cygdrive/c/Users/user/.docker/machine/machines/default
$ docker version
Could not read CA certificate "\\cygdrive\\c\\Users\\user\\.docker\\machine\\machines\\default\\ca.pem": open \cygdrive\c\Users\user\.docker\machine\machines\default\ca.pem: The system cannot find the path specified.

したがって、DOCKER_CERT_PATHを通常のWindowsパス形式に変更してみてください。

export DOCKER_CERT_PATH=C:\\Users\\Alexey\\.docker\\machine\\machines\\default

結果が異なる場合、私のドッカーのバージョンは1.10.1です。

おすすめ記事