我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux Container的基本命令是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux Container的基本命令是什么

本篇内容主要讲解“Linux Container的基本命令是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux Container的基本命令是什么”吧!

lxc能做什么:
可以为容器绑定特定的cpu和memory,分配特定比例的cpu时间、IO时间,限制可以使用的内存大小(包括内存和swap空间),提供device访问控制,提供独立的namespace(网络、pid、ipc、mnt、uts)。
默认的lxc配置是隔离pids(进程) sysv ipc(进程间通信),和挂载点。如果想运行sshd,就必须提供一个新的网络堆栈和hostname,如果想要避免文件冲突,需要重新挂载冲突文件到不同的地方。如果想要避免所有的冲突,你需要重新挂载一个文件系统。
lxc的实现:
Sourceforge上有LXC这个开源项目,但是LXC项目本身只是一个为用户提供一个用户空间的工具集,用来使用和管理LXC容器。LXC真正的实现则是靠Linux内核的相关特性,LXC项目只是对此做了整合。基于容器的虚拟化技术起源于所谓的资源容器和安全容器。
LXC在资源管理方面依赖与Linux内核的cgroups子系统,cgroups子系统是Linux内核提供的一个基于进程组的资源管理的框架,可以为特定的进程组限定可以使用的资源。LXC在隔离控制方面依赖于Linux内核的namespace特性,具体而言就是在clone时加入相应的flag(NEWNS NEWPID等等)。
lxc常见命令使用:
lxc-version 用于显示系统LXC的版本号(可以通过此命令判断系统是否安装了lxc)
用法:lxc-version
例如:

代码如下:

lxc-version


 lxc-checkconfig 用于判断linux内核是否支持LXC
用法:lxc-checkconfig
例如:

代码如下:

lxc-checkconfig


lxc-create用于创建一个容器
用法:lxc-create -n name [-f config_file]
         -n 后面跟要创建的容器名字 例如:-n foo
         -f 后面跟容器配置文件的路径
注:1.采用lxc-create创建的容器,在停止运行后,不会被销毁,要采用lxc-destroy命令才能销毁
       2.容器命令空间是全局的,系统中不允许存在重名的容器,如果-n 后面跟一个已经存在的容器名,创建会失败
例如:

代码如下:

lxc-create --n foo --f foo.conf


lxc-execute 用于在一个容器执行应用程序
用法: lxc-execute -n name [-f config_file] [ -s KEY=VAL ]command
           -n 后面跟容器名字(容器名字用于管理容器)例如:-n foo
           -f 后面跟容器配置文件的路径(如果没有配置文件,可以直接用-s指定配置选项,如果什么都没有,系统采用默认策略)例如:-f foo.conf
           -s 后面跟配置键值对 例如:lxc.cgroup.cpu.shares=512
       command 为要执行的命令 例如:/bin/bash
       这个命令会mount /proc 并且会自动创建/销毁容器。
 注:1.如果容器还不存在,lxc-execute会自动创建一个,容器停止运行后会被自动销毁
        2.用lxc-execute启动应用程序,配置优先级如下:
          如果指定-f选项,那么之前创建容器(如果容器是已存在的)的配置文件不会被使用
          如果指定-s选项,则在命令行中的配置键值对会覆盖配置文件(无论之前的还是-f指定的)相同配置
例如:

代码如下:

lxc-execute --n foo --s lxc.cgroup.cpu.shares=512 /bin/bash


使用实际例子:
       

代码如下:

lxc-execute -n test /bin/bash


        这个会启动一个lxc并给出类似的一个cmd窗口,网络是与操作系统共用的,这里好像仅仅是创建了一个命名空间
        如果没有指定-f,默认的隔离将被使用,这个命令当你需要一个快速在一个隔离的环境中运行程序。在物理机上和container中都会运行lxc-init,在宿主机上面,这个程序用于转发lxc-kill 信号到已经启动的程序中 ,在container中,这个程序的pid为1,它会fork出要执行的命令(pid为2)并执行。
 
 lxc-start 用于在容器中执行给定命令
用法:lxc-start  -n name [-f config_file] [-c console_file] [-d] [-s KEY=VAL]
          [command]
      -d 将容器当做守护进程执行
     -f  后面跟配置文件
     -c 指定一个文件作为容器console的输出,如果不指定,将输出到终端
    -s 指定配置
    如果没有指定命令,lxc-start 将要运行 /sbin/init
例如:

代码如下:

lxc-start -n foo -f foo.conf -d /bin/bash


注:1.如果容器还不存在,lxc-start会自动创建一个,容器停止运行后会被自动销毁
       2.lxc-start配置优先级与lxc-execute相同
       3.lxc-start 与lxc.execute的异同:
        lxc-start 和 lxc-execute都可以在容器中启动进程,区别在于lxc-start直接创建进程,lxc-execute先创建lxc-init进程,然后在lxc-init中fork一个进程来执行。(关于第4点,lxc-init所占的是一个什么样的地位?)
       The orphan process group and daemon are not supported by this  command,
       use the lxc-execute command instead
       If no command is specified, lxc-start will use the default "/sbin/init"
        command to run a system container.
      4.lxc-start用于在容器启动system,lxc-execute用于在容器执行应用程序


 lxc-kill 发送信号给容器中的第一个用户进程(容器内部进程号为2的进程)
用法:lxc-kil -n name SIGNUM
      -n 后面跟容器名
      SIGNUM  信号 (此参数可选,默认SIGKILL)
例如:

代码如下:

lxc-kill -n foo


lxc-stop 用于停止容器中所有的进程
用法:lxc-stop -n name
       -n后面跟要停止的容器名
例如:

代码如下:

lxc-stop --n foo


lxc-destroy 用于销毁容器
用法:lxc-destroy -n name
       -n后面跟要停止的容器名
例如:

代码如下:

lxc-destroy --n foo


lxc-cgroup 用于获取或调整与cgroup相关的参数
用法:lxc-cgroup -n name subsystem value
        -n 后面跟要调整的容器名
例如:

代码如下:

lxc-cgroup -n foo devices.list
          lxc-cgroup -n foo cpuset.cpus "0,3"


lxc-info 用户获取一个容器的状态
 用法:lxc-info -n name
       -n后面跟操作的容器名
例如:

代码如下:

lxc-info --n foo


注:容器的状态有:STARTING RUNNING STOPPING STOPPED ABORTING


lxc-monitor 监控一个容器状态的变换,当一个容器的状态变化时,此命令会在屏幕上打印出容器的状态
用法:lxc-monitor -n name
例如:

代码如下:

lxc-monitor -n foo


 lxc-ls 列出当前系统所有的容器
用法:lxc-ls
例如:

代码如下:

lxc-ls


lxc-ps 列出特定容器中运行的进程
用法:lxc-ps
例如:

代码如下:

lxc-ps -n foo

查看和调整容器的优先级

代码如下:

lxc-priority -n name
lxc-priority -n name -p priority

持续观察容器的状态和优先级变化:

代码如下:

lxc-monitor -n name

LXC 使用 cgroup 文件系统管理容器。可以通过 LXC 读和操纵 cgroup 文件系统的一些部分。要管理每个容器对 cpu 的使用,则可以通过读取和调整容器的 cpu.shares 来进行:

代码如下:

lxc-cgroup -n name cpu.shares
lxc-cgroup -n name cpu.shares howmany

暂停和恢复
[/code]lxc-freeze -n name
lxc-unfreeze -n name[/code]

停止
停止一个容器将导致该容器中启动的所有进程全体死亡,并且清理容器:

代码如下:

lxc-stop -n name

销毁
销毁容器是指删除通过 lxc-create 步骤与名称关联的配置文件和元数据:

代码如下:

lxc-destroy -n name

到此,相信大家对“Linux Container的基本命令是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux Container的基本命令是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux Container的基本命令是什么

本篇内容主要讲解“Linux Container的基本命令是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux Container的基本命令是什么”吧!lxc能做什么:可以为容器绑定特
2023-06-12

Linux系统维护的基本命令是什么

这篇文章将为大家详细讲解有关Linux系统维护的基本命令是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。对于大多数Linux用户来说系统运维并不需要他们关系,系统有专门的人去维护,但是关
2023-06-28

linux中目录及文件的基本操作命令是什么

这篇文章将为大家详细讲解有关linux中目录及文件的基本操作命令是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。今天就正式带大家一起学习下Linux常用基本命令及应用案例目录及文件的基本
2023-06-15

linux查看mongodb版本的命令是什么

要在Linux上查看MongoDB版本,可以使用以下命令:1. 通过mongo shell连接到MongoDB服务器:```mongo```2. 运行以下命令来查看版本信息:```db.version()```或者```db.runComm
2023-09-12

Docker入门的基本操作命令是什么

这篇文章将为大家详细讲解有关Docker入门的基本操作命令是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、docker服务相关docker 服务管理使用的是systemctl命令,L
2023-06-28

Linux查看redis版本的命令是什么

本篇文章为大家展示了Linux查看redis版本的命令是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Linux查看redis版本的两个命令1、 redis-server –vers
2023-06-28

Linux命令中的find命令是什么

Linux命令中的find命令是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。find 是 Linux 中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限、大小、
2023-06-28

linux命令中的wget命令是什么

这期内容当中小编将会给大家带来有关linux命令中的wget命令是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。对于网络管理员来说要经常下载一些软件或从远程服务器恢复备份到本地服务器,使用Linux
2023-06-28

linux的基本命令有哪些

这篇文章将为大家详细讲解有关linux的基本命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一些常用的基本命令:uname -a查看内核版本ls -al显示所有文件的属性pwd 显示当前路径cd
2023-06-17

linux的基本命令mkdir怎么使用

这篇“linux的基本命令mkdir怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux的基本命令mkdir怎么
2023-07-05

Linux系统的基本网络命令都有什么呢

今天就跟大家聊聊有关Linux系统的基本网络命令都有什么呢,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. hostnamehostname 没有选项,显示主机名字hostname
2023-06-28

linux创建文本文档的命令是什么

在Linux中,可以使用以下命令来创建文本文档:1. touch命令:用于创建一个空白的文本文档。例如:touch filename.txt2. echo命令:用于向文本文档中写入内容。例如:echo "hello world" > fil
2023-09-16

Linux查看内核版本的命令是什么

Linux查看内核版本的命令是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用uname命令查找Linux内核uname是用于获取系统信息的Linux命令。您也可以使
2023-06-28

linux命令和dos命令指的是什么

这篇“linux命令和dos命令指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux命令和dos命令指的是什么
2023-02-15

linux的touch命令是什么

linux的touch命令是一个用于创建新文件或者修改文件时间戳的命令,可以用于创建新文件、修改文件的访问时间和修改时间、修改已存在文件的时间戳、复制文件的时间戳以及设置自定义的时间戳,无论是在日常开发中还是在测试和调试中,touch命令都
2023-08-09

zookeeper数据结构及基本命令是什么

Zookeeper是一个开源的分布式协调服务,它可以用于构建和管理分布式应用程序的配置信息,命名服务、分布式锁、分布式队列等。Zookeeper的数据模型是一个类似于文件系统的层级命名空间,其中的每个节点称为一个Znode。Zookeep
2023-10-22

Linux基本命令df和linux中du命令参数的用法

这篇文章主要讲解了“Linux基本命令df和linux中du命令参数的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux基本命令df和linux中du命令参数的用法”吧!以下是Li
2023-06-17

linux系统版本查询命令是什么

在Linux系统中,可以使用以下命令来查询系统的版本信息:1. `lsb_release -a`:显示Linux发行版的详细信息,包括发行版名称、版本号、codename等。2. `cat /etc/os-release`:显示Linux发
2023-08-31

Linux定时任务的基础命令指的是什么

这篇文章给大家介绍Linux定时任务的基础命令指的是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在计算机的使用过程中,经常会有一些计划中的任务需要在将来的某个时间执行,linux中提供了一些方法来设定定时任务。1
2023-06-16

编程热搜

目录