lxc容器創建與網絡配置


創建容器

lxc-create {-n name} {-t template}  [--  template-options]
    -t 指定模板,比如debian、ubuntu、centos等
    -n 指定容器名稱,這是以后幾乎所有操作都要使用的
    template-options: 根據不同的模板有不同的選項,可以指定發行版本、創建容器時使用的mirror url,架構等等

  • 創建debian的testing容器:
sudo lxc-create -t debian -n debian -- --mirror=http://mirrors.163.com/debian/ -r testing
  • 創建cnetos7容器
sudo lxc-create -n centos -t centos -- -R Centos_7 --repo=http://mirrors.163.com/centos/7/os/x86_64
  • 創建ubuntu16.04容器
sudo lxc-create -n ubuntu -t ubuntu -- -r xenial --mirror=http://mirrors.aliyun.com/ubuntu/ 
--security-mirror=http://mirrors.aliyun.com/ubuntu/ 

容器創建完畢后,默認的文件系統路徑為/var/lib/lxc/{name}

  • 啟動容器
sudo lxc-start {-n name}
  • 查看容器信息
sudo lxc-info {-n name}
  • 進入容器
sudo lxc-attatch {-n name}

此時就可以像操作正常系統一樣執行命令了。

除此之外,還可以使用lxc-console來登錄容器。

網絡配置

使用網橋配置容器網絡。

  • 1)在主機中添加網橋

在主機的/etc/network/interfaces中添加:


auto br0
iface br0 inet dhcp
        bridge_ports enp2s0
        bridge_fd 0
        bridge_maxwait 0

其中enp2s0是我的主機的唯一網卡,執行/etc/init.d/networing restart重啟網絡后會發現多了一個br0的網卡
lxc_network_config_1.png

  • 2)配置容器的網絡

容器的網絡配置文件默認路徑為/var/lib/lxc/{name}/config,加入網絡選項:


lxc.network.type = veth
lxc.network.flags = up
# that's the interface defined above in host's interfaces file
lxc.network.link = br0
 
# name of network device inside the container,
# defaults to eth0, you could choose a name freely
# lxc.network.name = lxcnet0 
 
lxc.network.hwaddr = 00:FF:AA:00:00:01

然后在容器的/etc/network/interfaces/文件中添加:

auto eth0
iface eth0 inet dhcp

如果容器沒有啟動dhclient服務,則啟動。

  • 3)重啟容器
sudo lxc-stop -n ubuntu
sudo lxc-start -n ubuntu
sudo lxc-attatch -n ubuntu

此時發現容器多了一個名為eth0的網卡:
lxc_network_config_2.png

網絡配置完畢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM