[英]Connecting to webserver running in docker in vagrant in vmware
在我的Mac上,我正在VMware中運行Windows Server 2016。 在那兒,我在無業游民/ Virtual Box中運行Ubuntu。 在其中,我正在使用nginx / uwsgi在docker容器中運行django應用。 Web服務器正在偵聽9003,並且可以從Windows VM中運行的瀏覽器通過localhost:9003連接到Web服務器。 我希望能夠從Mac上運行的瀏覽器以及本地網絡上的其他計算機連接到它。 在VMware網絡設置中,我選擇了Internet共享,與我的Mac共享。
在Windows VM中,我看到以下內容:
$ ipconfig
Windows IP Configuration
Ethernet adapter vEthernet (HNS Internal NIC):
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::a088:5807:8265:722%11
IPv4 Address. . . . . . . . . . . : 192.168.192.1
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . :
Ethernet adapter Ethernet0:
Connection-specific DNS Suffix . : localdomain
Link-local IPv6 Address . . . . . : fe80::440c:bbeb:3408:87a2%6
IPv4 Address. . . . . . . . . . . : 172.16.88.128
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 172.16.88.2
Ethernet adapter VirtualBox Host-Only Network:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::d90e:3f15:2ff3:9c8%3
IPv4 Address. . . . . . . . . . . : 192.168.56.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Tunnel adapter isatap.{128CE093-EDCD-4551-A68C-1ED0F721C48D}:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Tunnel adapter isatap.{C1972449-FA02-4CD9-A894-9F82BCD31099}:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Tunnel adapter isatap.localdomain:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : localdomain
在虛擬機中:
$ ifconfig
docker0 Link encap:Ethernet HWaddr 02:42:6a:c7:10:cf
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:6aff:fec7:10cf/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:87179 errors:0 dropped:0 overruns:0 frame:0
TX packets:177348 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:17368120 (17.3 MB) TX bytes:1072352935 (1.0 GB)
eth0 Link encap:Ethernet HWaddr 08:00:27:ac:f1:24
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:feac:f124/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:890873 errors:0 dropped:0 overruns:0 frame:0
TX packets:128642 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1203867192 (1.2 GB) TX bytes:24867499 (24.8 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1296 (1.2 KB) TX bytes:1296 (1.2 KB)
vetha7780cb Link encap:Ethernet HWaddr 0e:7b:96:75:ae:68
inet6 addr: fe80::c7b:96ff:fe75:ae68/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5808 errors:0 dropped:0 overruns:0 frame:0
TX packets:10063 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:13697486 (13.6 MB) TX bytes:637891 (637.8 KB)
在docker容器中:
# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 broadcast 0.0.0.0
ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet)
RX packets 10155 bytes 891257 (870.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5893 bytes 13702369 (13.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 506 bytes 184179 (179.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 506 bytes 184179 (179.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我的Mac的本地IP是10.0.0.19。
在我的Mac上,我嘗試連接到localhost:9003,但沒有成功。 我還從Mac和本地網絡上的另一台計算機上嘗試了10.0.0.19、10.0.2.15、172.17.0.1、192.168.192.1、172.16.88.128和192.168.56.1。 都沒有用。
Mac和Windows VM上的防火牆均被禁用。
如何從Mac和其他本地計算機連接到此服務器?
更新:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
87a9527a1a66 capgraph "/opt/django/CAPgr..." 2 hours ago Up 2 hours 443/tcp, 0.0.0.0:80->80/tcp, 8006/tcp capgraph
在我的Vagrantfile中,我有:
config.vm.network "forwarded_port", guest: 80, host: 9003
您需要在VMware設置中添加另一個網絡適配器,並且該適配器應與Wifi網絡橋接,因為您正在使用它。
這將使您的VM在10.0.0.X
系列中具有另一個IP。 該應用程序將在該10.0.0.X:9003
上可用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.