简体   繁体   中英

Docker-machine : ca.pem not found

Here i am creating a test machine(dev) using the docker machine.

$ docker-machine create -d virtualbox dev
Creating CA: C:\Users\xxx\.docker\machine\certs\ca.pem
Creating client certificate: C:\Users\xxx\.docker\machine\certs\cert.pem
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...

The vm gets created and runs with out flaws. And here is the error when i run the following command:

$ docker-machine env dev

open C:\Users\xxx\.docker\machine\machines\dev\ca.pem: The system cannot fin
d the file specified.

I have no idea how to deal with this problem. Tried restarting boot2docker.

You should try using docker-machine regenerate-certs dev . The problem i think is that somehow your .pem file got deleted or was not created. I had the same issue and regenerating the certs fixed the problem (reboot did not help btw).

I was getting the exact same error. It turned out to be the Cisco AnyConnect client affecting my networking settings. It's not enough to quit AnyConnect, you have to reboot your machine to restore your settings.

If someone knows more about how AnyConnect is affecting things and if there are solutions better than rebooting, I'd love to hear about it!

Copy certificates from "C:\\Users\\xxx\\.docker\\machine\\certs"

Paste certificates to "C:\\Users\\xxx\\.docker\\machine\\machines\\dev"

I guess you are getting Docker-machine : ca.pem not found error even when you use docker info or any command with docker

Try this command: docker-machine env -u output will be similar to:

unset DOCKER_TLS_VERIFY

unset DOCKER_HOST

unset DOCKER_CERT_PATH

unset DOCKER_MACHINE_NAME

# Run this command to configure your shell:

# eval $(docker-machine env -u)

now enter eval $(docker-machine env -u)

this should do the work. Try docker info to be sure finally.

NOTE: This error was on Windows 10 Docker

Here was my error:

@user ➜  git-repo git(users/user/dev) ✗  docker
unable to resolve docker endpoint: open C:\Users\user\.docker\ca.pem: The system cannot find the file specified.

Here is the link to the shell file I used to recreate the certificates I named it generate_docker_cert.sh :

https://gist.github.com/bradrydzewski/a6090115b3fecfc25280

So I went to that directory that the error output:

cd C:\Users\user\.docker\

Created that file:

notepad generate_docker_cert.sh

Copied the values from the link into there and saved.

Then ran that .sh file:

.\generate_docker_cert.sh

Then the docker command worked:

@user ➜  git-repo git(users/user/dev) ✗  docker

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers
...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM