作为一名网页设计师,我一直在使用VirtualBox为我的项目设置临时工作服务器。最近,我一直在努力减少笔记本电脑上的虚拟机数量(由于SSD容量的限制),我认为学习和使用Docker在系统存储、完成工作的部署以及对技能集的未来保护方面可能是有益的。到目前为止,除了NAT之外,我一直在使用只有主机的适配器从我的主机(通常是Windows)连接到我的虚拟机器中的APM服务器。
以下是我通常使用的/etc/网络/接口设置:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
# VBOX Host-only adapter
auto eth1
iface eth1 inet static
network 192.168.56.0
address 192.168.56.80
netmask 255.255.255.0我正在考虑IP别名,以便将更多的IP分配给主机专用适配器(192.168.56.81, 192.168.56.82...),并将它们路由到每个容器,每个容器都将运行我的一个项目。看起来Docker拥有自己的网络接口docker0,它不能从VirtualBox主机上访问。据我所知,我有几种可能的方法:
我想知道这些方法中哪一种对我来说是最可行的。
我不知道我的问题是否足够清楚。请让我知道我是否应该提供更多的信息,以使这一问题的答案。
发布于 2015-07-29 14:28:54
在我看来,对于你的用法,你不应该去挖掘码头网络的疯狂。
我建议您在运行容器时使用端口映射。
例如,假设您已经通过您的Dockerfile在码头创建了一个apache映像。当您想要运行这个容器时,使用-p选项映射端口:
sudo docker run -d -p=80:80 -p=443:443 -P apache:latest通过这样做,本地端口80将被映射到此容器的端口80。
因此,通过在浏览器中访问http://127.0.0.1,您将访问容器。
如果端口80已经在本地使用,则可以使用例如端口8080:-p 8080:80,然后访问http://127.0.0.1:8080。
如果有多个项目,则可以在apache容器中使用多个端口或使用虚拟主机,并在主机的/etc/hosts中使用dns别名。
https://askubuntu.com/questions/630625
复制相似问题