Docker:LXC容器操作实战

上一篇:容器化和虚拟化

前言

通过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
相关推荐
u***42075 分钟前
macOs安装docker且在docker上部署nginx+php
nginx·macos·docker
Bro_cat27 分钟前
Java基础
java·开发语言·面试
一起养小猫41 分钟前
《Java数据结构与算法》第三篇(下)队列全解析:从基础概念到高级应用
java·开发语言·数据结构
vx_vxbs661 小时前
【SSM电动车智能充电服务平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·mysql·spring cloud·小程序·php·idea
叹隙中驹石中火梦中身1 小时前
解耦神器Event和EventListener
java
Boop_wu1 小时前
[Java EE] 多线程进阶(JUC)(2)
java·jvm·算法
小坏讲微服务1 小时前
SpringCloud整合Scala实现MybatisPlus实现业务增删改查
java·spring·spring cloud·scala·mybatis plus
m***92381 小时前
docker中配置redis
redis·docker·容器
N***p3651 小时前
五大消息模型介绍(RabbitMQ 详细注释版)
java·rabbitmq·java-rabbitmq
m***l1151 小时前
集成RabbitMQ+MQ常用操作
分布式·rabbitmq