我试图在Windows机器上使用Docker并且看起来遇到了所有可能的问题.我的最新一个是:我的机器正在运行,但我似乎无法使用docker命令与它进行交互.如果我运行一个非常标准的命令,如:
docker ps
Run Code Online (Sandbox Code Playgroud)
我收到如下错误消息:
An error occurred trying to connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v
1.23/containers/json: open //./pipe/docker_engine: The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)
所以显然有些道路搞砸了.有谁知道这是什么路径以及如何解决这个问题?
jan*_*pol 59
运行docker ps和接收时:
尝试连接时发生错误:获取http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json:open //./pipe/docker_engine:系统找不到指定的文件.
需要设置以下环境属性:
set DOCKER_CERT_PATH=%USERPROFILE%\.docker\machine\machines\default
set DOCKER_HOST=tcp://192.168.99.100:2376
set DOCKER_MACHINE_NAME=default
set DOCKER_TLS_VERIFY=1
Run Code Online (Sandbox Code Playgroud)
这是假设的%USERPROFILE%\.docker\machine\machines\default,其中是默认路径cert.pem,key.pem,ca-key.pem,和ca.pem搬运工文件; 虚拟机名称(由其创建docker-machine create)是default和Virtual Box DHCP服务器的下限(在VirtualBox->文件 - >首选项 - >网络 - >仅主机网络 - >在VirtualBox主机以太网适配器上悬停鼠标)是192.168. 99.100并且VirtualBox中没有运行其他VM.
r59*_*590 18
Win 7中的问题相同.解决方案:
在Docker快速入门窗口中,在$ prompt下运行以下行:
your_user @ your_machine MINGW64~
$ eval $("C:\ Program Files\Docker Toolbox\docker-machine.exe"env default)
然后,你将能够运行"docker run hello-world".
aur*_*ath 17
我在使用docker-machine时遇到了这个问题,docker-machine env重启后我没有运行命令.我不知道如何在cmd.exe中执行此操作,但如果您正在使用powershell,请尝试发出以下命令:
docker-machine env --shell=powershell | Invoke-Expression
Run Code Online (Sandbox Code Playgroud)
确保Hyper-V已启动并运行:
bcdedit /set hypervisorlaunchtype auto 小智 6
docker-machine env --shell cmd默认值
您将收到以下输出
SET DOCKER_TLS_VERIFY = 1
SET DOCKER_HOST = tcp://192.168.99.102:2376
SET DOCKER_CERT_PATH = C:\ Users\DBashyal.docker\machine\machines\default
SET DOCKER_MACHINE_NAME =默认
REM运行此命令配置shell:
REM @FOR/f"tokens =*"%i IN('docker-machine env --shell cmd default')DO @%i
复制突出显示的行并在cmd上执行
@FOR/f"tokens =*"%i IN('docker-machine env --shell cmd default')DO @%i
执行以下命令
码头工人
我使用下面的命令创建了一台新机器
docker-machine create --driver=virtualbox vbox-test
Run Code Online (Sandbox Code Playgroud)
然后执行命令
docker-machine env --shell=powershell | Invoke-Expression
Run Code Online (Sandbox Code Playgroud)
搞定了......
我不得不在Windows上处理同样的问题.
解决它:
创建一个docker机器(只有你还没有)
docker-machine create default
Run Code Online (Sandbox Code Playgroud)获取docker客户端所需的ENV变量以连接到docker机器(服务器)[这需要每次都做或在ENV变量中设置]
docker-machine.exe env default
Run Code Online (Sandbox Code Playgroud)
您可以手动安装或运行依赖于下列情况之一的shell environment(cmd,bash,power-shell)
docker-machine env --shell=cmd # you need to run it manually
docker-machine env --shell=bash > env-var-commands-tmp && . env-var-commands-tmp && rm env-var-commands-tmp
docker-machine env --shell=powershell | Invoke-Expression
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
54784 次 |
| 最近记录: |