Иногда я сталкивался с этой ошибкой в Docker для Windows
.
Я погуглил и нашел причину.
В результате это связано с тем, что по умолчанию для докер-машины нет.
$docker ps
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
Моя ОС — Windows 10, поэтому используется Hyper-V.
Итак, я попробовал это,
docker-machine create --driver hyperv default
Но показывает такую ошибку.
Error with pre-create check: "no External vswitch found. A valid vswitch must be available for this command to run. Check https://docs.docker.com/machine/drivers/hyper-v/"
Я действительно часто зацикливался на этой ошибке.
Как я могу это исправить??
Я указал DockerNAT
с опцией hyperv-virtual-switch
.
docker-machine create --driver hyperv --hyperv-virtual-switch DockerNAT default
это выглядело прогрессом.
Running pre-create checks...
(default) Image cache directory does not exist, creating it at C:\Users\whitebear\.docker\machine\cache...
(default) No default Boot2Docker ISO found locally, downloading the latest release...
(default) Latest release for github.com/boot2docker/boot2docker is v18.06.0-ce
(default) Downloading C:\Users\whitebear\.docker\machine\cache\boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v18.06.0-ce/boot2docker.iso...
(default) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
Creating machine...
(default) Copying C:\Users\whitebear\.docker\machine\cache\boot2docker.iso to C:\Users\whitebear\.docker\machine\machines\default\boot2docker.iso...
(default) Creating SSH key...
(default) Creating VM...
(default) Using switch "DockerNAT"
(default) Creating VHD
(default) Starting VM...
(default) Waiting for host to start...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
Наконец, докер-машина работает.
PS C:\Windows\system32> docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - hyperv Running tcp://192.168.1.118:2376 v18.06.0-ce
Однако docker ps
пока не работает.
PS C:\Windows\system32> docker ps
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
Docker for windows service
были запущены в панели служб Windows, а также перезапущены. И командаdocker -v
возвращаетDocker version 18.06.0-ce, build 0ffa825
- person whitebear   schedule 20.08.2018docker -v
печатает только версию клиента. Вы можете проверить версию движка с помощьюdocker version
. - person gesellix   schedule 20.08.2018tcp://192.168.1.118:2376
. Пожалуйста, попробуйте что-нибудь вродеdocker -H tcp://192.168.1.118:2376 ps
. - person gesellix   schedule 20.08.2018