2016-06-22 29 views
1

這是我第一次設置LXD運行多個容器。我已經完成了所有配置步驟,但是我的容器沒有從組織內運行的DHCP服務器獲取IP地址。請幫助我。Linux LXD容器沒有從DHCP獲取IP Ubuntu 16.04 TLS

我正在使用Bridge接口配置文件。下面是我做了更改:

[email protected]:~# vi /etc/network/interfaces 

auto br0 
iface br0 inet dhcp 
    bridge-ports ens32 
    bridge-ifaces ens32 
iface ens32 inet dhcp 


[email protected]:~# 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

+1

檢查你的新容器的IP地址,你應該寫你的問題,激勵方式無償支付的人 – zanderwar

+0

現在好像沒事了,請幫助我 – Amar

回答

2

這是一個老問題,但我決定回答這個問題,因爲我被困在同一個主題,解決ISN」 t完全明顯。

如果您希望容器從外部設備(例如互聯網路由器,公司dhcp服務器)獲取其IP配置,則需要在創建時告訴它。這是通過一個配置參數對user.network_mode=dhcp 由於這個配置是在「用戶」空間,它沒有規範,但工作在Ubuntu 16.04。有關詳細信息,請參閱:https://github.com/lxc/lxd/blob/master/doc/configuration.md

步驟1:/etc/network/interfaces

auto br0 
iface br0 inet dhcp 
    bridge_ports ens32 
    bridge_stp off 
    bridge_fd 0 

步驟2在主機上創建橋:創建你自己的LXD個人資料被稱爲mydhcp

lxd profile create mydhcp 

或重新配置默認LXD配置打電話

sudo dpkg-reconfigure -p medium lxd 

(You ne編輯在第一次提示選擇並添加第二個提示,然後輸入你的橋的名字)

如果使用自己的個人資料,編輯

lxc profile edit mydhcp 

粘貼以下

name: mydhcp 
config: 
    user.network_mode: dhcp 
description: Profile for creating dhcp containers 
devices: 
    eth0: 
    name: eth0 
    nictype: bridged 
    parent: br0 
    type: nic 

(注意空格 - 這是YAML文件,空格很重要!)

第3步:使用你的mydhcp配置文件創建一個新容器

lxc launch ubuntu:16.04 mydhcpcontainer -p mydhcp -c user.network_mode=dhcp 

如果在上一步中更改了默認LXD配置,只需輸入

lxc launch ubuntu:16.04 mydhcpcontainer -c user.network_mode=dhcp 

lxc exec mydhcpcontainer -- ifconfig