这是我第一次设置LXD来运行多个容器。我已完成所有配置步骤,但我的容器没有从我的组织内运行的DHCP服务器获取IP地址。请帮帮我。
我正在使用Bridge接口配置文件。以下是我所做的更改:
root@DMG-LXD-TVM2:~# vi /etc/network/interfaces
auto br0
iface br0 inet dhcp
bridge-ports ens32
bridge-ifaces ens32
iface ens32 inet dhcp
root@DMG-LXD-TVM2:~# lxc list
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
| Continer1 | RUNNING | | | PERSISTENT | 0 |
IP and interface details what i setup on my ubuntu machine
Dhcp message when doing ifdown eth0 && ifup eth0 inside container
答案 0 :(得分:2)
这是一个较老的问题,但我决定回答它,因为我遇到了同样的话题并且解决方案并不是很明显。
如果您希望容器从外部设备(例如,互联网路由器,公司dhcp服务器)获取其IP配置,则需要在创建时告知它。这是通过配置参数对*ngIf
完成的
由于此配置位于“用户”空间,因此它不是标准的,但适用于ubuntu 16.04。有关详细信息,请参阅:https://github.com/lxc/lxd/blob/master/doc/configuration.md
第1步:在user.network_mode=dhcp
/etc/network/interfaces
步骤2:创建一个名为mydhcp的自己的lxd配置文件
auto br0
iface br0 inet dhcp
bridge_ports ens32
bridge_stp off
bridge_fd 0
或通过调用
重新配置默认的lxd配置lxd profile create mydhcp
(您需要在第一个提示中选择并添加第二个提示,然后输入您的桥名称)
如果您使用自己的个人资料,请进行修改
sudo dpkg-reconfigure -p medium lxd
粘贴以下内容
lxc profile edit mydhcp
(注意空格 - 这是一个YAML文件,空格很重要!)
步骤3:使用mydhcp profile
创建一个新容器name: mydhcp
config:
user.network_mode: dhcp
description: Profile for creating dhcp containers
devices:
eth0:
name: eth0
nictype: bridged
parent: br0
type: nic
如果您在上一步中更改了默认的lxd配置,只需输入
即可lxc launch ubuntu:16.04 mydhcpcontainer -p mydhcp -c user.network_mode=dhcp
使用
检查新容器的IP地址lxc launch ubuntu:16.04 mydhcpcontainer -c user.network_mode=dhcp