我正试图找到一些能够使用我公司的VPN和Docker-Machine的方法;目前,我不能同时使用两者,否则如果我在任何时候使用VPN,那么在关闭VPN并重启我的机器之前,我无法做任何与Docker有关的事情。具体来说,以下命令只是挂起并超时:
eval $(docker-machine env dev)
其中dev
是我的Docker-Machine VM的名称。
没有eval
命令,任何涉及Docker的工作都没有,并且eval
命令在连接到VPN时甚至之后都不起作用。我已经读过使用旧版本的VirtualBox(4.3.1或其他一些版本)将解决这个问题,但不幸的是,Docker Toolbox始终确保安装了最新的VirtualBox。我正在使用Docker Toolbox 1.8.1b和VirtualBox 5.0.2。有没有办法让Cisco AnyConnect VPN和Docker-Machine一起工作?似乎主要问题是AnyConnect正在搞乱网络路由。
答案 0 :(得分:2)
我确信一个聪明的bash人可以解释原因,但eval "$(docker-machine env dev)"
(注意引号)是建议(通过Docker)方式来设置DOCKER
环境变量。
答案 1 :(得分:0)
此答案适用于:https://stackoverflow.com/a/26913705/3471672
的结果我正在使用Mac OS X上的工具箱(Docker v1.10):https://docs.docker.com/mac/step_one/
看起来问题是启动Cisco AnyConnect引入的防火墙规则。以下显示了引入的问题以及解决方法:
$ sudo ipfw -a list | grep "deny ip"
$ docker-machine create --driver virtualbox dev
$ docker-machine ls
$ docker-machine ls
Unable to query docker version [...] connect: permission denied
$ sudo ipfw -a list | grep "deny ip"
00411 72 6160 deny ip from any to any keep-state
00411
),删除规则,例如:
$ sudo ipfw delete 00411
$ docker-machine ls
$ eval $(docker-machine env dev)
$ docker ps