繁体   English   中英

将Docker容器(django应用)连接到Windows Lan

[英]Connect docker container (django app) to windows lan

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

我已经尝试了NAT和桥接模式的两种解决方案,但都无济于事:

如何从主机外部(同一网络)连接到Docker容器[Windows]

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

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

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

编辑:我应该提一下,负责域LAN(域控制器)的人说,他可以设置用于连接到virtualbox(docker容器)的特定IP地址,但不知道该怎么做-他从未听说过docker并且不熟悉virtualbox。

最终对我有用的是:

虚拟箱设置

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

虚拟箱设置

  • 显示VM屏幕(无头启动或显示)
  • adduser#这是用于ssh测试,因此完全没有必要
  • 输入ifconfig并找到具有您上面提到的mac地址的任何以太网,通常是eth0或eth1(也请查看inet addr)
  • 使用Putty(从Windows)到ssh whatyourname @ inetaddr
  • 输入您创建的用户的密码,您现在应该可以通过SSH进入VM- 设置静态IP
  • 在bash类型中:sudo ifconfig eth1 netmask 255.255.255.0
  • 键入ifconfig来检查它是否已更改-应用
  • 运行您的docker-compose脚本,并在staticIP:port#或仅从LAN上的staticIP上访问应用程序,具体取决于如何设置NGINX

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM