Ale*_*xey 8 cygwin windows docker
我不知道这是否是正确的社会问我的问题,因为我其实是想推出docker内cygwin的环境windows。安装 Docker Toolbox 后,我尝试docker version在我的 cygwin shell 中启动并获得:
$ 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.
Run Code Online (Sandbox Code Playgroud)
但是,实际文件 /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
Run Code Online (Sandbox Code Playgroud)
更新
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.
Run Code Online (Sandbox Code Playgroud)
@cloverhap在下面提出的解决方案我们需要设置DOCKER_CERT_PATH环境变量,但它应该包含windows路径,而不是cygwin,而且,反斜杠应该被转义,所以解决方案是添加这个:
export DOCKER_CERT_PATH=C:\\Users\\%USERNAME%\\.docker\\machine\\machines\\default
Run Code Online (Sandbox Code Playgroud)
到 .bash_profile
在我的 cygwin 环境中,docker cert 路径实际上设置如下,docker 似乎工作正常。
DOCKER_CERT_PATH=C:\Users\user\.docker\machine\machines\default
Run Code Online (Sandbox Code Playgroud)
以下确实给出了错误
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.
Run Code Online (Sandbox Code Playgroud)
因此,尝试将您的 DOCKER_CERT_PATH 更改为常规的 Windows 路径格式。
export DOCKER_CERT_PATH=C:\\Users\\Alexey\\.docker\\machine\\machines\\default
Run Code Online (Sandbox Code Playgroud)
如果结果有任何不同,我的 docker 版本是 1.10.1。
| 归档时间: |
|
| 查看次数: |
29324 次 |
| 最近记录: |