Tôi không chắc đây có phải là cộng đồng phù hợp để hỏi về vấn đề của tôi không vì tôi thực sự đang cố gắng khởi chạy docker
trong cygwin
môi trường windows
. Sau khi cài đặt Docker Toolbox, tôi đang cố gắng khởi chạy docker version
trong shell cygwin của mình và nhận được:
$ 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.
Tuy nhiên, tệp thực tế /cygdrive/c/Users/Alexey/.docker/machine/machines/default/ca.pem nằm ở đó, vấn đề dường như nằm ở dấu gạch chéo (windows vs UNIX) trong đường dẫn đến tệp chứng chỉ. Nhưng tôi không thể tìm ra nơi để sửa nó.
Dưới đây là các biến env được đặt trong ~ / .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
CẬP NHẬT
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.
GIẢI PHÁP như được đề xuất dưới đây bởi @cloverhap, chúng ta cần đặt DOCKER_CERT_PATH
biến môi trường, nhưng nó phải chứa đường dẫn windows, không phải cygwin và hơn nữa, dấu gạch chéo ngược phải được thoát, vì vậy giải pháp là thêm điều này:
export DOCKER_CERT_PATH=C:\\Users\\%USERNAME%\\.docker\\machine\\machines\\default
đến .bash_profile
boot2docker
bằng một hệ thống cho phép docker
lệnh phía máy khách bật Windows
. Các docker
daemon và VM chạy trong một máy ảo Linux.
docker version
, docker run hello-world
, docker run -d -p 80:80 --name webserver nginx
) trong Cygwin ra khỏi hộp.
cgroups
,lxc
, vv).