【问题标题】:Docker-machine doesn't work when connected to Cisco AnyConnect (Mac OS X)连接到 Cisco AnyConnect (Mac OS X) 时,Docker 机器不工作
【发布时间】:2015-12-13 12:21:48
【问题描述】:

我正在尝试找到一些方法来同时使用我公司的 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 搞乱了网络路由。

【问题讨论】:

  • 你也试过eval "$(docker-machine env dev)"吗?注意引号。
  • 我发誓我以为我在发布问题时已经尝试过了……但是,今天添加引号后,你瞧,它确实有效!哇,我没有意识到报价真的有影响!请发布答案,我会将其标记为已接受的答案。

标签: macos vpn docker-machine


【解决方案1】:

我相信一个聪明的 bash 人可以解释原因,但eval "$(docker-machine env dev)"(注意引号)是(由 Docker 推荐的)设置DOCKER 环境变量的方法。

【讨论】:

    【解决方案2】:

    此答案适用于:https://stackoverflow.com/a/26913705/3471672

    我在 Mac OS X (Docker v1.10) 上使用工具箱来自:https://docs.docker.com/mac/step_one/

    看起来问题是启动 Cisco AnyConnect 时引入的防火墙规则。以下显示了引入的问题以及如何解决它:

    1. 确保 Cisco AnyConnect 已停止 (!)
    2. 确保您看不到防火墙规则问题;验证,运行(使用工具箱,在 Docker 快速启动终端):
      • $ sudo ipfw -a list | grep "deny ip"
    3. 创建命名为例如:dev的docker机器,运行:
      • $ docker-machine create --driver virtualbox dev
    4. 验证机器是否可以访问,运行例如:
      • $ docker-machine ls
    5. 启动 Cisco AnyConnect:--- 问题在这里介绍 ---
    6. 验证机器不能再访问,运行:
      • $ docker-machine ls
    7. 您将看到如下错误:
      • Unable to query docker version [...] connect: permission denied
    8. 检查已引入的新防火墙规则,运行:
      • $ sudo ipfw -a list | grep "deny ip"
    9. 你会得到类似的东西,例如:
      • 00411 72 6160 deny ip from any to any keep-state
    10. 基于第一个数字(在本例中:00411),删除规则,运行例如:
      • $ sudo ipfw delete 00411
    11. 验证机器是否可以再次访问,运行:
      • $ docker-machine ls
    12. 现在您可以再次成功地执行以下操作:
      • $ eval $(docker-machine env dev)
      • $ docker ps

    【讨论】:

      猜你喜欢
      • 2022-11-02
      • 2013-05-05
      • 2014-06-22
      • 2014-08-04
      • 2017-07-31
      • 2017-11-17
      • 2018-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多