在Windows 7中通过VPN连接时连接到docker机器

Pat*_*čin 3 docker-machine docker-toolbox

我在Windows 7上运行docker-machine作为docker工具箱的一部分

我跑的时候

> docker-machine env
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=...\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
Run Code Online (Sandbox Code Playgroud)

配置shell后,我可以毫无问题地与docker进行交互.

当我通过VPN连接到不同的网络时出现问题.

我用的时候

> tracert 192.168.99.100
Run Code Online (Sandbox Code Playgroud)

我可以看到这个IP被VPN截获,这就是我在运行时遇到异常的原因

> docker-machine env
Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": dial tcp 192.168.99.100:2376: i/o timeout
Run Code Online (Sandbox Code Playgroud)

有没有办法改变DOCKER_HOST如下?

SET DOCKER_HOST=tcp://127.0.0.1:2376
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

小智 10

启动docker quickstart终端而不连接到VPN.然后按照以下步骤操作

  1. docker-machine stop machine-name
  2. VBoxManage modifyvm"machine-name"--natpf1"machine-name,tcp ,, 2376,,2376"
  3. docker-machine启动机器名

假设您的机器名称是默认的,那么命令将是:VBoxManage modifyvm"default"--natpf1"default,tcp ,, 2376,,2376"

  1. export DOCKER_HOST ="tcp:// localhost:2376"
  2. 导出DOCKER_TLS_VERIFY ="0"
  3. 别名docker ="docker --tlsverify = false"

现在连接到VPN.你已准备好出发.Docker将照常开始工作.