我在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
配置shell后,我可以毫无问题地与docker进行交互。
当我通过VPN连接到不同的网络时出现问题。
当我使用
时> tracert 192.168.99.100
我可以看到这个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
有没有办法按如下方式更改DOCKER_HOST?
SET DOCKER_HOST=tcp://127.0.0.1:2376
感谢您的帮助!
答案 0 :(得分:9)
启动docker quickstart终端而不连接VPN。然后按照以下步骤操作:
假设您的机器名是默认的,那么命令将是:VBoxManage modifyvm“default”--natpf1“default,tcp ,, 2376,,2376”
现在连接到VPN。你已准备好出发。 Docker将像往常一样开始工作。
答案 1 :(得分:0)
在我的Docker终端中:
$ docker-machine env
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="XXXXXX\.docker\machine\machines\default"
export DOCKER_MACHINE_NAME="default"
export COMPOSE_CONVERT_WINDOWS_PATHS="true"
# Run this command to configure your shell:
# eval $("D:\Program Files\Docker Toolbox\docker-machine.exe" env)
要覆盖DOCKER_HOST环境变量:
$ export DOCKER_HOST="tcp://127.0.0.1:2376"
请参阅docker-and-cisco-anyconnect-vpn。这篇文章可能对您有帮助。
答案 2 :(得分:0)
另一种选择是在路由表中创建一个新条目,该条目将覆盖VPN软件创建的条目。
首先,找到VirtualBox仅主机网络接口的名称
netsh int ip show ipaddresses
在我的计算机上,该接口名为“ vbox2”。现在,指定到192.168.99.100的docker计算机的所有流量都应通过“ vbox2”接口发送。
netsh int ip add route 192.168.99.0/24 interface=vbox2 store=persistent
相对于127.0.0.1解决方案,我更喜欢这种方法,因为我不必使用VBoxManage Modifyvm转发任何新端口。