将docker container(django app)连接到windows lan

时间:2016-08-24 20:56:49

标签: django windows iis docker

我想在我们的Windows环境中运行一个docker,以便员工可以从他们自己的计算机访问该应用程序,但无法使其正常工作。

我已经尝试了NAT和桥接模式的解决方案,但这些解决方案无效:

How to connect to a docker container from outside the host (same network) [Windows]

当我使用NAT模式时,我可以通过主机的本地主机(127.0.0.1:8000)连接到应用程序,当我使用桥接模式时,我可以使用docker机器的IP(192.168) .99.100:8000)但我无法从局域网中的其他计算机访问它们。

我可以在同一个局域网中ping另一个Docker容器所在的计算机,但是当我在浏览器中键入其url时,我会得到标准的IIS登录页面。我删除了IIS中的默认站点,以防它占用我试图分配给docker容器的端口,但是这不起作用 - 我只是得到一个站点无法访问页面。

最终,我只是希望能够从Windows服务器上局域网内的另一台计算机访问docker容器中的应用程序。任何想法都将不胜感激。

编辑:我应该提一下,照顾域局域网的人,域控制器,他说可以设置一个特定的IP地址来连接虚拟机(docker容器),但不知道该怎么做他从未听说过码头工人,也不熟悉virtualbox。

1 个答案:

答案 0 :(得分:0)

最终对我有用的是:

Virtualbox设置

  • 我删除了以前的虚拟环境,因为我不确定我在这一点上所做的所有修修补充
  • docker-machine create -d virtualbox default#创建新虚拟机
  • 关闭默认虚拟机
  • 选择设置,网络适配器3,启用网络适配器
  • 选择桥接网络,注意显示的mac地址
  • 设置混杂模式以允许所有
  • 点击确定
  • docker-machine start default

Virtualbox设置

  • 显示VM屏幕(无头启动或显示)
  • adduser#这是用于ssh测试,所以严格来说没必要
  • 输入ifconfig,找到上面提到的mac地址的以太网通常是eth0或eth1(另请查看inet addr)
  • 使用Putty(从windows)到ssh whateveryourname @ inetaddr
  • 输入您创建的用户的密码,您现在应该可以直接进入虚拟机 - 设置静态IP
  • bash类型中的
  • :sudo ifconfig eth1 netmask 255.255.255.0
  • 键入ifconfig以检查它是否已更改 - 申请
  • 运行你的docker-compose脚本并访问staticIP上的应用程序:port#或局域网中的staticIP,具体取决于NGINX的设置方式