lxc容器的简单使用

安装

# apt install lxc

设置

# service start lxc     # 测试lxc是否可以初始化

# systemctl enable lxc   # 加入开机启动项

创建容器

# lxc-create -n 容器名 -t 模板名 
  • 模板目录 /usr/share/lxc/templates/

比如创建一个Debian容器

# apt install debootstrap    # 创建容器内系统需要的工具

# lxc-create -n debian00 -t debian

等待创建完成

配置容器

# cd /var/lib/lxc/容器名/rootfs

# vim ./etc/ssh/sshd_config     # 修改ssh默认端口和允许root登录

加入或修改

#Port 22
Port 3322   # 修改默认监听端口为3322

#PermitRootLogin prohibit-password
PermitRootLogin yes
# lxc-exectue -n 容器名 passwd    # 设置容器内root密码

配置网络连接方式

# vim /var/lib/lxc/容器名/config

加入或修改

#lxc.network.type = empty
lxc.network.type = none    # 与外部共享网络命名空间

启动

# lxc-start -n 容器名

连接

# ssh -p 3322 root@localhost    # 通过ssh连接

启动失败

一些解决方案

  • 使用htop追踪启动过程 查看无法启动的服务, 尝试禁用或修复

  • 移除或修改容器内与外部服务(共用网络命名空间) 端口冲突的项

用途

可以在任意发行上在lxc里面运行另一个linux发行

可以模拟一个环境而不污染外部系统

可以在各个容器中运行服务

易于搬迁


服务器资源由ZeptoVM赞助

Partners Wiki IRC