lxc常用命令

1.什么是LXC

LXC 是 Linux Containers 的简称,LXC 允许你在宿主操作系统内的容器运行应用。容器在网络、行为等方面都与宿主OS都隔离。LXC 的仿真(模拟)是通过 Linux 内核的 cgroups 和 namespaces 来实现的,因此 LXC 只能模拟基于 Linux 类的操作系统

2.Cgroup的主要功能

  • docker中cgroup的主要功能:

  • 资源限制(ResourceLimitation)
    cgroups可以对进程组使用的资源总额进行限制。如设定应用运行时使用内存的上限,一旦超过这个配额就发出OOM(OutofMemory)。

  • 优先级分配(Prioritization)
    通过分配的CPU时间片数量及硬盘IO带宽大小,实际上就相当于控制了进程运行的优先级。

  • 资源统计(Accounting)
    cgroups可以统计系统的资源使用量,如CPU使用时长、内存用量等等,这个功能非常适用于计费。

  • 进程控制(Control)
    cgroups可以对进程组执行挂起、恢复等操作。


3.lxc常用命令

lxc-checkconfig
检查系统环境是否满足容器使用要求;

lxc-create
创建lxc容器;
格式:lxc-create -n NAME -t TEMPLATE_NAME

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

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

lxc-console
附加至指定容器的控制台;
格式:lxc-console -n NAME -t NUMBER

lxc-stop
停止容器;

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

lxc-snapshot
创建和恢复快照;

退出容器方式:<Ctrl+a q>

4.docker的基本概念

  • Docker的三个基本概念

  • 镜像(Image)

  • 容器(Container)

  • 仓库(Repository)

    • 简单来说,Docker的image可以理解是一个只读的静态模板,类似于我们在装系统的时候用到的.iso文件;而container则相对而言是一个动态的instance,或者说可以理解为我们装好了系统之后的某一台计算机,可以开机,关机,重启等等,也可以被格式化(删除)。如果我们想在另一台计算机上复现我这台计算机的系统,则可以ghost一个新的镜像,然后去安装(虽然这种操作通常不行,因为底层硬件的驱动可能不匹配)。
  • 镜像(Image)

    • 操作系统分为内核和用户空间。对于Linux而言,内核启动后,会挂载root文件系统为其提供用户空间支持。而Docker镜像(Image),就相当于是一个root文件系统。
      现在重新理解一下我们使用一个linux系统的过程。我们开机的时候,linux内核会先启动,然后挂载root文件系统作为用户空间;而Docker镜像就相当于是一个root文件系统,每开一个就有了一个独立的用户空间。
  • Docker设计时,就充分利用Union FS的技术,将其设计为分层存储的架构。
    镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。比如,删除前一层文件的操作,实际不是真的删除前一层的文件,而是仅在当前层标记为该文件已删除。在最终容器运行的时候,虽然不会看到这个文件,但是实际上该文件会一直跟随镜像。因此,在构建镜像的时候,需要额外小心,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉。

  • 容器(Container)

    • 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的类,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。
      容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。
      前面讲过镜像使用的是分层存储,容器也是如此。
      按照Docker最佳实践的要求,容器不应该向其存储层内写入任何数据 ,容器存储层要保持无状态化。所有的文件写入操作,都应该使用数据卷(Volume)、或者绑定宿主目录,在这些位置的读写会跳过容器存储层,直接对宿主(或网络存储)发生读写,其性能和稳定性更高。
      所谓“绑定宿主目录”,就是在run一个container的时候使用-v命令把宿主机的存储目录映射进container。我们可以这样理解,image是分层存储的,我们每做一次修改就会在原本的Image存储层上多搭一层,记录这个更改;而新搭的这层是静态、且可以持久化存储的。Container也是相同额存储架构,但是每次修改新搭的一层是动态的,而且并不是持久化存储的;当容器被remove,或者重启计算机(内存断电)之后,container没了,相应的这些容器存储层也没了。因此要尽量保持容器存储层无状态化,所有的contain里产生的数据(比如container里的程序的运行结果)都要通过挂载宿主目录直接写进宿主硬盘里。
  • 仓库(Repository)
    我们可以把构建后的镜像上传到服务器,从而可以在任何地方使用到这个镜像。

    • 一个Docker Registry中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。
      通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本 。我们可以通过<仓库名>:<标签>的格式来指定具体是这个软件哪个版本的镜像。
      如果不给出标签,将以latest作为默认标签。
      最常使用的Registry公开服务是官方的Docker Hub ,这也是默认的Registry,并拥有大量的高质量的官方镜像,网址为:http://hub.docker.com/ 。

5.容器的工作方式

  • 容器的工作方式是纯粹的位拷贝,一个容器由操作系统,用户文件和元数据组成。由此可知,每个容器都根据镜像来生成。这个镜像告诉Docker容器包含什么内容,运行什么程序,以及其他配置信息。-对于自定义的对象,容器容纳了对象(比如通过insert或push_back等),但容器中存放的对象不是你给它们的那个对象,因为两个对象在内存中的位置不一样。此外,当你从容器中获取一个对象时,你所得到的对象不是容器里的那个对象。取而代之的是,当你向容器中添加一个对象(比如通过insert或push_back等),进入容器的是你指定的对象的拷贝。拷进去,拷出来。拷贝是STL的方式。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LXCLinux Containers)和LXD(Linux Container Daemon)是一种轻量级虚拟化技术,常用于在Linux系统中创建和管理容器。以下是一些常用的LXC/LXD配置: 1. 安装LXD:使用适合你的Linux发行版的包管理工具进行安装。 2. 初始化LXD:运行`sudo lxd init`命令来初始化LXD。在初始化过程中,你可以设置默认的存储池、网络设置、镜像源等。 3. 创建容器:使用`lxc launch`命令创建一个新容器。例如,要创建一个名为"mycontainer"的容器,可以运行`lxc launch images:ubuntu/20.04 mycontainer`。 4. 启动和停止容器:使用`lxc start`命令启动容器,例如`lxc start mycontainer`。使用`lxc stop`命令停止容器,例如`lxc stop mycontainer`。 5. 进入容器:使用`lxc exec`命令可以在容器内执行命令。例如,要在"mycontainer"容器内执行`ls`命令,可以运行`lxc exec mycontainer -- ls`。 6. 管理容器配置:使用`lxc config`命令可以管理容器的配置。例如,要查看容器的IP地址,可以运行`lxc config show mycontainer | grep ipv4.address`。 7. 管理网络:使用`lxc network`命令可以管理LXD网络。例如,要列出所有网络,可以运行`lxc network list`。 8. 导出和导入容器:使用`lxc export`命令可以将容器导出到一个文件。例如,要将"mycontainer"导出到"mycontainer.tar.gz"文件,可以运行`lxc export mycontainer mycontainer.tar.gz`。使用`lxc import`命令可以从导出文件导入一个容器。 这些是LXC/LXD的一些常用配置,还有其他更高级的配置和功能可供探索。你可以使用`lxc --help`命令或参考LXD的官方文档来获取更多详细信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值