Windows
Windows/cygwin環境下執行Docker
我不確定這是否是正確的社區來詢問我的問題,因為我實際上是在嘗試
docker
在. 安裝 Docker Toolbox 後,我嘗試在我的 cygwin shell 中啟動並獲得:cygwin``windows``docker 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 vs 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.
正如@cloverhap 下面提出的解決方案,我們需要設置
DOCKER_CERT_PATH
環境變數,但它應該包含 windows 路徑,而不是 cygwin,而且反斜杠應該被轉義,所以解決方案是添加這個:export DOCKER_CERT_PATH=C:\\Users\\%USERNAME%\\.docker\\machine\\machines\\default
到
.bash_profile
在我的 cygwin 環境中,docker cert 路徑實際上設置如下,並且 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
如果結果有任何不同,我的 docker 版本是 1.10.1。