前言
通过LXC来完成容器的创建、体会什么是容器。
利用LXC容器技术来隔离特定的应用,提供虚拟执行环境,从而优化资源管理和部署效率。
什么是LXC?
LXC为Linux Container的简写 ,是一种可以提供轻量级虚拟化的技术,用于隔离进程和资源。
LXC利用Linux内核的命名空间(Namespaces)和控制组(CGroups)等特性,为进程提供虚拟的执行环境。每个容器都拥有独立的文件系统、进程空间、网络接口和用户空间环境,但共享相同的内核。
与虚拟机相比,LXC容器具有更高的效率、更轻量的特性和更快的启动速度。
LXC容器可以直接利用宿主机的内核资源,无需模拟完整的硬件环境和操作系统。
Ubuntu下安装与卸载LXC
卸载掉LXC
检查是否安装,如果需要卸载,可以执行下面指令,不需要直接跳到安装步骤。
检查是否安装。清理资源:
cpp
systemctl status lxc
服务状态为活跃,那么就是安装过的了
cpp
lxc-stop -n xxx # lxc-ls -f //遍历所有容器,停止运行的容器
lxc-destroy -n xxx # //删除对应的容器
卸载软件:
cpp
apt-get purge --auto-remove lxc lxc-templates
再次检查服务:
cpp
systemctl status lxc
LXC安装
cpp
apt install lxc lxc-templates bridge-utils -y
lxc-templates
lxc 的配置模板
bridge-utils
网桥管理工具
检查服务是否正常运行:
cpp
systemctl status lxc
LXC常用命令
命令 | 解释 |
---|---|
lxc-checkconfig | 检查系统内核是否支持LXC,以及LXC所需的内核模块和配置是否已启用 |
lxc-create | 创建一个新的LXC容器 |
lxc-destroy | 删除一个LXC容器 |
lxc-start | 启动一个已经存在的LXC容器 |
lxc-stop | 停止正在运行的LXC容器 |
lxc-ls | 列出当前主机上所有的LXC容器 |
lxc-info | 显示有关某个LXC容器的信息 |
lxc-restart | 重启一个正在运行的LXC容器 |
lxc-attach | 以一个被允许的用户身份连接到正在运行的LXC容器 |
LXC操作实战
检查 lxc 是否运行:
cpp
systemctl status lxc
检查 lxc 的功能支持情况:
cpp
lxc-checkconfig
查看 lxc 提供的容器模板:
cpp
ls /usr/share/lxc/templates
创建一个 lxc 虚拟主机,Ubuntu 上创建 centos 的命令:
cpp
lxc-create --name centos7 --template=download -- --dist=centos --release=7 --arch=amd64
容器被放到 /var/lib/lxc/<容器名> 这个目录下:
cpp
ls /var/lib/lxc/
查看创建的容器信息:
cpp
lxc-ls -f
启动容器:
cpp
lxc-start -n centos7 -d
查看容器的详细信息:
cpp
lxc-info -n centos7
通过 ssh 进入容器:
cpp
ssh centos@ip centos@ip's password:
查看 ip 地址,磁盘挂载信息:
cpp
ip addr
cpp
uname -a
df-h
在容器外面执行命令:
cpp
lxc-attach -n centos7 --clear-env -- echo "LXC"
停止容器:
cpp
lxc-stop -n centos7
lxc-ls -f
删除容器:
cpp
lxc-destroy -n centos7
lxc-ls -f