首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在虚拟Ubuntu服务器上连接到Docker容器的问题

问在虚拟Ubuntu服务器上连接到Docker容器的问题
EN

Ask Ubuntu用户
提问于 2015-05-31 17:29:38
回答 1查看 1.4K关注 0票数 1

作为一名网页设计师,我一直在使用VirtualBox为我的项目设置临时工作服务器。最近,我一直在努力减少笔记本电脑上的虚拟机数量(由于SSD容量的限制),我认为学习和使用Docker在系统存储、完成工作的部署以及对技能集的未来保护方面可能是有益的。到目前为止,除了NAT之外,我一直在使用只有主机的适配器从我的主机(通常是Windows)连接到我的虚拟机器中的APM服务器。

以下是我通常使用的/etc/网络/接口设置:

代码语言:javascript
复制
# 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主机上访问。据我所知,我有几种可能的方法:

  1. 将连接从主机路由到只有主机的适配器到docker0接口。
  2. 以某种方式从主机连接到docker0接口,或者
  3. 不知何故,找到一种将容器连接到纯主机接口的方法。

我想知道这些方法中哪一种对我来说是最可行的。

我不知道我的问题是否足够清楚。请让我知道我是否应该提供更多的信息,以使这一问题的答案。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2015-07-29 14:28:54

在我看来,对于你的用法,你不应该去挖掘码头网络的疯狂。

我建议您在运行容器时使用端口映射。

例如,假设您已经通过您的Dockerfile在码头创建了一个apache映像。当您想要运行这个容器时,使用-p选项映射端口:

代码语言:javascript
复制
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别名。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/630625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档