news 2026/5/20 17:20:38

Docker基础--LXC容器化实战(包含部分命令)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker基础--LXC容器化实战(包含部分命令)

目录

容器虚拟化基础之 LXC

LXC 是什么?

LXC 容器

基础知识

LXC 的常用命令如下:

lxc-checkconfig

lxc-create

lxc-start

lxc-ls

lxc-info

lxc-attach

lxc-stop

lxc-destory

安装 LXC

Ubuntu 安装

CentOS 安装

LXC 容器操作实战


容器虚拟化基础之 LXC

LXC 是什么?

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

LXC 是最早一批真正把完整的容器技术用一组简易使用的工具和模板来极大的简化了 容器技术使用的一个方案

LXC 虽然极大的简化了容器技术的使用,但比起直接通过内核调用来使用容器技术, 其复杂程度其实并没有多大降低,因为我们必须要学会 LXC 的一组命令工具,且由于 内核的创建都是通过命令来实现的,通过批量命令实现数据迁移并不容易。其隔离性 也没有虚拟机那么强大。

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

LXC 容器

实战目的

通过 lxc 来完成容器的创建,体会容器,并了解 docker 并不是容器的唯一实现。自 docker 0.9 版本起,docker 除了继续支持 LXC 外,还开始引入自家的 libcontainer, 试图打造更通用的底层容器虚拟化库。如今的 docker 基本上都已经是使用 libcontainer 而非 LXC 了。

基础知识

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-destory

删除处于停机状态的容器;

格式:lxc-destory -n NAME

安装 LXC

Ubuntu 安装

安装前执行检查看下是否需要卸载,如果需要卸载,执行下面的命令完成卸载,不需 要直接到第 2 步

#一、检查是否安装。清理资源

systemctl status lxc

lxc-stop -n xxx # lxc-ls -f 遍历所有容器,停止运行的容器

lxc-destroy -n xxx # 删除对应的容器

#二、 卸载软件

apt-get purge --auto-remove lxc lxc-templates

#三、 检查服务已经没有该服务了

systemctl status lxc

没有安装的话,执行下面的命令完成安装

#一、安装

#lxc 主程序包

#lxc-templates lxc 的配置模板

#bridge-utils 网桥管理工具

apt install lxc lxc-templates bridge-utils -y

#二、检查服务是否正常运行

systemctl status lxc

CentOS 安装

安装前执行检查看下是否需要卸载,如果需要卸载,执行下面的命令完成卸载,不需 要直接到第 2 步

# 一、检查是否安装。清理资源

systemctl status lxc #检查是否安装

lxc-stop -n xxx # lxc-ls -f 遍历所有容器,停止对应的容器

lxc-destroy -n xxx #删除对应的容器

# 二、 卸载软件

yum remove lxc lxc-templates lxc-libs lxc-extra libvirt debootstrap

# 三、检查,提示服务不存在

systemctl status lxc

CentOS 安装 LXC,如果已经安装,可以检查下是否需要卸载,如果需要卸载执行 Centos 卸载 LXC

# 一、 配置源
yum -y install epel-release #这个软件包里包含 epel yum 源和GPG 的配置
# 二、 安装程序
# lxc 主程序包
# lxc-templates lxc 的配置模板
# bridge-utils 网桥管理工具 lxc-libs lxc 所需的库文件
# libcgroup cgroup 安装包
# libvirt 管理 Linux 的虚拟化功能所需的服务器端守护程序。 需要针对特定驱动程序的管理程序。
# debootstrap debootstrap 是 Debian 引导程序,它允许您将 Debian 基本系统
(例如 Debian 或 Ubuntu)安装到当前正在运行的系统的目录中。
yum -y install lxc lxc-templates bridge-utils lxc-libs libcgroup
libvirt lxc-extra debootstrap
#三、启动和检查
#如果未运行输入以下命令完成启动
systemctl start lxc #启动 lxc 服务

systemctl start libvirtd #启动虚拟机监控服务

systemctl status lxc

systemctl status libvirtd

LXC 容器操作实战

1. 检查 lxc 是否运行

systemctl status lxc

2.检查 lxc 的功能支持情况

lxc-checkconfig

3. 查看 lxc 提供的容器模板

ls /usr/share/lxc/templates/

4.创建一个lxc虚拟主机,这个命令就会下载安装指定环境下的软件包,创建新容器。 整个过程需要时间较长,与容器的类型有关。

#创建 Ubuntu LXC 容器,-t 指定模板容器,-n 指定要创建的容器名,下面创建的是 ubuntu
#Centos 上创建 centos 的命令:lxc-create -t centos --name centos1 ----release 7 --archx86_64
#Ubuntu 上创建 centos 的命令,注意模板需要使用 download:lxc-create --name centos7 --template=download -- --dist=centos --release=7 --arch=amd64

/var/run/docker/netns# lxc-create -t ubuntu --name lxchost1 -- -r xenial -a amd64

5. 下载安装完所有软件包后,LXC 容器镜像就创建完成了,你可以看到默认的登录 界面。容器被放到 /var/lib/lxc/ 这个目录下,容器的根文件系统放在 /var/lib/lxc//rootfs 目录下。创建过程中下载的软件包保存在 /var/cache/lxc 目录下面,当你想另外建一个一样的容器时,可以省去很多下载时间。

ll /var/lib/lxc/lxchost1/

ll /var/cache/lxc/

6.查看创建的容器信息

lxc-ls -f

7. 启动容器,我们可以看到容器状态为运行中

lxc-start -n lxchost1 -d

lxc-ls -f

8. 查看容器的详细信息

lxc-info -n lxchost1

9. 容器 ip 为 10.0.3.248,我们通过 ssh 进入容器,查看 ip 地址,磁盘挂载信息,目 录信息和宿主机都不一样

ssh ubuntu@10.0.3.248

ip addr

10.在容器外面执行命令

lxc-attach -n lxchost1 --clear-env -- echo "Hello bit"

11. 停止容器

lxc-stop -n lxchost1

lxc-ls -f

12. 删除容器

lxc-destroy -n

lxc-ls -f


[user1@iZ5waahoxw3q2bZ ~]$ cat /etc/*release* CentOS Linux release 7.6.1810 (Core) Derived from Red Hat Enterprise Linux 7.6 (Source) NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7" CentOS Linux release 7.6.1810 (Core) CentOS Linux release 7.6.1810 (Core) cpe:/o:centos:centos:7

感谢你的观看,期待我们下次再见!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 17:18:02

VAP技术深度解析:从硬件解码到跨平台特效动画的完整实现方案

VAP技术深度解析:从硬件解码到跨平台特效动画的完整实现方案 【免费下载链接】vap VAP是企鹅电竞开发,用于播放特效动画的实现方案。具有高压缩率、硬件解码等优点。同时支持 iOS,Android,Web 平台。 项目地址: https://gitcode.com/gh_mirrors/va/vap…

作者头像 李华
网站建设 2026/5/20 17:14:23

OSS Compass:开源项目健康度评估模型与应用实践

1. 项目概述:一个开源生态的“导航仪”诞生了最近在开源圈子里,一个名为“OSS Compass”的项目正式发布了,这让我这个在开源社区里摸爬滚打了十多年的老家伙,着实兴奋了一把。简单来说,OSS Compass,也就是“…

作者头像 李华
网站建设 2026/5/20 17:13:18

Anemone3DS:任天堂3DS主题与启动画面终极定制指南

Anemone3DS:任天堂3DS主题与启动画面终极定制指南 【免费下载链接】Anemone3DS A theme and boot splash manager for the Nintendo 3DS console 项目地址: https://gitcode.com/gh_mirrors/an/Anemone3DS 厌倦了千篇一律的3DS默认界面?想要让你的…

作者头像 李华
网站建设 2026/5/20 17:12:03

订阅Token Plan套餐如何在实际开发中有效控制大模型调用成本

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 订阅Token Plan套餐如何在实际开发中有效控制大模型调用成本 对于开发团队而言,将大模型能力集成到自动化流程或内部工…

作者头像 李华
网站建设 2026/5/20 17:10:07

怎么远程操作另一台手机 手机能远程控制别的手机吗

想远程操作另一台手机应急?不管是忘带工作机需回复客户消息,还是手游玩家用备用机远程控制主力机挂机领福利,都需要好用的工具。市面上能远程操作另一台手机的软件不少,但是却多有短板,难以适配需求。推荐无界趣连2.0&…

作者头像 李华