当前位置: 首页 > news >正文

Linux容器基石:LXC核心概念与实践指南

文章目录

  • LXC容器
    • LXC 是什么?
    • LXC的特点
    • LXC与Docker的关系
  • 基础指令
  • 安装LXC
  • 容器创建

LXC容器

LXC 是什么?

  LXC(Linux Containers)是Linux容器,一种操作系统层虚拟化技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器(Container),内含应用软件本身的代码,以及所需要的操作系统核心和库。通过统一的名字空间和共享API来分配不同软件容器的可用硬件资源,创造出应用程序的独立沙箱运行环境,使得Linux用户可以容易地创建和管理系统或应用容器。

LXC的特点

  • 是最早一批真正把完整的容器技术用一组简易使用的工具和模板来极大简化容器技术使用的方案
  • 虽然简化了容器技术的使用,但复杂程度并没有显著降低,因为需要学习LXC的一组命令工具
  • 由于内核的创建都是通过命令实现,通过批量命令实现数据迁移并不容易
  • 隔离性没有虚拟机那么强大

LXC与Docker的关系

后来出现了Docker,从一定程度上来说,Docker就是LXC的增强版。

通过 LXC 完成容器的创建,体会容器技术,并了解 Docker 并不是容器的唯一实现。

  • 自 Docker 0.9 版本起,Docker 除了继续支持 LXC 外,还引入了自家的 libcontainer,旨在打造更通用的底层容器虚拟化库。
  • 如今的 Docker 基本已使用 libcontainer 而非 LXC。

基础指令

lxc-checkconfig:检查系统环境是否满足容器使用要求。
格式:lxc-checkconfig

lxc-create:创建 LXC 容器。
格式:lxc-create -n NAME -t TEMPLATE_NAME [-- template-options]

lxc-start:启动容器。
格式:lxc-start -n NAME -d

lxc-ls:列出所有容器,-f 表示打印常用信息。
格式:lxc-ls -f

lxc-info:查看容器相关的信息。
格式:lxc-info -n NAME

lxc-attach:进入容器执行命令
格式:lxc-attach --name=NAME [- COMMAND]

lxc-stop:停止运行中的容器
格式:lxc-stop -n NAME

lxc-destroy:删除已停止的容器
格式:lxc-destroy -n NAME

安装LXC

CentOS:

  • sudo yum -y install epel-release
    sudo yum -y install lxc lxc-templates bridge-utils lxc-libs libcgroup libvirt lxc-extra debootstrap
    systemctl status lxc
    sudo systemctl start lxc
    sudo systemctl start libvirtd
    systemctl status lxc
    systemctl status libvirtd```
    

Ubuntu:

  • sudo apt install lxc lxc-templates bridge-utils -y
    systemctl status lxc
    

容器创建

在这里插入图片描述

  1. 创建容器

检查lxc状态信息

  • systemctl status lxc
  • lxc-checkconfig

创建容器:

lxc-create -t ubuntu --name host1 -- -r xenial -a amd64

  • -t:指定容器模版,所支持的模版在/usr/share/lxc/templates里,如下:
    在这里插入图片描述

  • -name:指定容器名称

  • -r:指定模板版本

  • -a:指定cpu架构

运行结果:
在这里插入图片描述
查看容器状态
在这里插入图片描述
在这里就多了一个host1,默认为stop停止状态。下面lxchost1是之前创建的这里不用关心。

  1. 运行容器

lxc-start -n lxchost1 -d
-n:指定主机名
-d:后台运行
在这里插入图片描述

  1. 进入容器

方法一:ssh 用户名@IP地址,然后输入密码即可。
方法二:lxc-attach -n host1 --clear-env -- /bin/bash,即在容器host1里执行/bin/bash指令,–clear-env 作用是不带宿主机的环境变量。

  1. 容器停止删除

停止容器:lxc-stop -n host1
删除容器:lxc-destroy -n host1
可以用lxc-ls -f观察容器状态

http://www.dtcms.com/a/335384.html

相关文章:

  • Flink Stream API核心概念继承体系
  • 代码随想录算法训练营四十四天|图论part02
  • 像海绵一样吸收技术书籍的高效学习方法
  • [Go]包管理发展之路(Go Modules VS GOPATH)
  • 【Jenkins】02 - 自动化部署配置
  • 简单的 VSCode 设置
  • 利用vscode时进行调试,即使设置justMyCode为False仍然失败,如何解决?
  • 嵌入式练习项目——————抓包获取天气信息
  • 【Linux | 网络】高级IO
  • SQL性能优化全攻略
  • 基于libcurl与epoll的高性能异步FTP客户端
  • 数据准备|生成折线图
  • 如何让AI视频模型(如Veo)开口说中文?一个顶级提示词的深度拆解
  • Spring Boot 项目配置 MySQL SSL 加密访问
  • 【Java后端】Spring Boot 集成 MyBatis-Plus 全攻略
  • 计算机网络 HTTP和HTTPS 区别
  • Rust 条件语句
  • deepseek一键生成word和excel并一键下载
  • 初识CSS
  • [python学习记录1]python简介
  • SHAP分析!NRBO-Transformer-BiLSTM回归预测SHAP分析,深度学习可解释分析!
  • KingbaseES:一体化架构与多层防护,支撑业务的持续稳定运行与扩展
  • 智能制造——解读车企数字化转型构建高效经营管理数据治理体系【附全文阅读】
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day6
  • 【P14 3-6 】OpenCV Python——视频加载、摄像头调用、视频基本信息获取(宽、高、帧率、总帧数),视频保存在指定位置
  • RH134 访问网络附加存储知识点
  • 解密红外温度芯片的“工作环境温度” 范围
  • 论文推荐|迁移学习+多模态特征融合
  • 存储、硬盘、文件系统、 IO相关常识总结
  • CPP多线程1:C++11的std::thread