如何运行docker hello world?尝试连接时发生错误

如何运行docker hello world?尝试连接时发生错误

我已经在 Windows 10 上安装了 docker,但是当我尝试使用示例运行它时,我得到:

C:\Program Files\Docker Toolbox\kitematic>docker run hello-world
An error occurred trying to connect: Post http://localhost:2375/v1.21/containers/create: dial tcp 127.0.0.1:2375: ConnectEx tcp: No connection could b
e made because the target machine actively refused it.

怎么修?

答案1

我是 Docker 新手,因此对我的答案不是很有信心,但我遇到了与您描述的相同的问题,下面是我解决问题的方法...

首先,我会认为你有一个可以正常运行的 docker-machine,例如:

C:\Program Files\Docker Toolbox>docker-machine ls
NAME      ACTIVE   DRIVER   STATE     URL                       SWARM   DOCKER    ERRORS
docker    -        hyperv   Running   tcp://192.168.0.22:2376           v1.9.1

我花了一段时间才走到这一步,因为我正在使用Hyper-V来托管我的 Docker 机器。但是,一旦你到了这里,你就可以使用docker-machine来获取你的配置设置:

C:\Program Files\Docker Toolbox>docker-machine config docker
--tlsverify
--tlscacert="C:\\Users\\Ken\\.docker\\machine\\certs\\ca.pem"
--tlscert="C:\\Users\\Ken\\.docker\\machine\\certs\\cert.pem"
--tlskey="C:\\Users\\Ken\\.docker\\machine\\certs\\key.pem"
-H=tcp://192.168.0.22:2376

为了保留这些参数(这样您就不必在每次调用时传递它们docker.exe),您可以创建以下环境变量(单击这里有关可用变量的详细信息):

set DOCKER_HOST=tcp://192.168.0.22:2376
set DOCKER_TLS_VERIFY=true
set DOCKER_CERT_PATH=C:\Users\Ken\.docker\machine\certs

我还没有编写所有这些脚本,但我想我会创建一个 Docker Toolbox 附带的 start.sh 的替代方案,因为每次启动托管 Docker 的虚拟机时,该 IP 地址都可能会发生变化。注意:docker-machine这里也涵盖了你!启动 docker 机器后,你可以使用该docker-machine env <machine>命令自动设置这些环境变量!

因此,我创建了以下 bash 脚本来替换 start.sh 脚本:

docker-machine start docker
eval "$(docker-machine.exe env docker)"

显然,你必须将我的详细情况替换为你自己的,但我希望这能有所帮助。我知道我花了很长时间才找到有关如何在 Windows 10 上运行这些内容的文档。

相关内容