我一直在玩 lxc-lxd。我能够在 lxc 容器(ubuntu 15.04)中安装 mongodb。我能够从容器内访问所有内容,但反之则不行。容器和 lxc-bridge 被赋予 10.xxx ip 地址,而我的网络路由器 IP 地址以 192.xxx 开头 如何从容器外部(也在主机外部)访问 mongodb。我计划为 nginx 和 node.js 创建更多容器,因此主机传递可能不是一个选项。
我的 Ubuntu 主机在 virtualbox VM 中运行,希望这不会导致问题。
我一直在玩 lxc-lxd。我能够在 lxc 容器(ubuntu 15.04)中安装 mongodb。我能够从容器内访问所有内容,但反之则不行。容器和 lxc-bridge 被赋予 10.xxx ip 地址,而我的网络路由器 IP 地址以 192.xxx 开头 如何从容器外部(也在主机外部)访问 mongodb。我计划为 nginx 和 node.js 创建更多容器,因此主机传递可能不是一个选项。
我的 Ubuntu 主机在 virtualbox VM 中运行,希望这不会导致问题。
首先按照这里的说明创建一个桥https://wiki.debian.org/LXC/SimpleBridge
我的界面显示的是 em1 而不是 eth0,因此请务必将 eth0 替换为您所拥有的任何内容。
# Comment out the following:
# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_fd 0
bridge_maxwait 0
然后使用配置文件创建您的容器:
lxc profile create bridged
lxc profile device add bridged eth0 nic nictype=bridged parent=br0
lxc launch ubuntu/vivid test --profile=bridged
再次用你得到的任何东西替换 eth0,我认为这是多余的,因为我们已经有一个名为 br0 的桥,事实上我是按相反的顺序做的。创建了配置文件和容器,但出现以下错误:
Error calling 'lxd forkstart db01 /var/lib/lxd/containers /var/log/lxd/db01/lxc.conf': err='exit status 1'
通过如上所述创建桥来解决此问题。