我已经阅读了其他问题,如this和this,但没有得到我的答案。
我跑这:
docker run -dp 192.168.43.80:80:80 nginx:beta-1
但我得到了这个错误:
docker: Error response from daemon: driver failed programming external connectivity on endpoint hardcore_babbage (aa327aefe662c502bbc79d01660c166198f9a08ad588cd946a794e02b0b07dc4): Error starting userland proxy: listen tcp4 192.168.43.86:80: bind: cannot assign requested address.
我搜索了这个错误,但一无所获。ip a
:
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:2d:eb:7f brd ff:ff:ff:ff:ff:ff
inet 192.168.43.85/24 brd 192.168.43.255 scope global dynamic enp0s3
valid_lft 3060sec preferred_lft 3060sec
我将Oracle VirtualBox与三个Linux虚拟机一起使用,它们都具有IP 192.168.43.0/24
。
我想运行一个可以通过另一个IP(如192.168.43.80
)从虚拟机(enp0s3
的IP是192.168.43.85
)访问的容器。都使用docker run
命令和docker-compose
。
在这种情况下我该怎么办?
2条答案
按热度按时间kgsdhlau1#
我这样做是为了解决:
1.我关闭了虚拟机并启用了第二个网络接口。
1.已运行VM并运行
ip a
以确认编号1并查看新名称1.已运行
ifconfig enp0s8 192.168.43.80 netmask 255.255.255.255 up
1.已运行码头集装箱
docker run -dp192.168.43.80:80:80 nginx:beta-1
dpiehjr42#
由于您尚未添加任何其他IP地址,因此应执行以下操作:
1.关闭虚拟机。启用新的网络接口。
1.再次运行VM并键入
ip a
以查看新的网络接口名称1.运行
ifconfig NETWORK_INTERFACE 192.168.43.80 netmask 255.255.255.0 up
192.168.43.80
,您应该会得到结果。1.现在通过
docker run -dp192.168.43.80:80:80 nginx
运行您的docker容器1.当您在互联网浏览器上键入
192.168.43.80
时,您应该会看到nginx
默认网页或任何其他已配置的页面