【Docker】1.Docker的前身LXC

米饭7个月前行业资讯368

LXC

简介:Linux Containers ,一种操作系统层虚拟化技术,为Linux内核容器功能的一个用户空间接口。将应用软件系统打包成一个软件容器内涵应用软件本身的代码,操作系统核心和库。透过Namespace和Cgroup来分配不同软件容器的可用硬件资源。也就是Doker的前身

LXC Actual Conbat
lxc-checkconfig  						# 检查系统环境是否满足容器使用需求
lxc-create -n Name -t Templage_name       # 创建lxc容器
lxc-start -n Name -d 					# 启动容器
lxc-ls -f 							    # 列出所有容器 -f 打印常用信息
lxc-info -n Name 						# 查看容器相关信息
lxc-attack --name=Name[--Command]	      # 进入容器执行命令 
lxc-stop -n Name 						# 停止容器
lxc-destory -n Name 					# 删除处于停机状态的容器

安装和卸载

# 卸载
# 一、检查是否安装。清理资源
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

# 安装
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 模板

[root@VM-20-6-centos templates]# ls /usr/share/lxc/templates
lxc-alpine     lxc-busybox  lxc-debian    lxc-gentoo        lxc-oracle  lxc-ubuntu
lxc-altlinux   lxc-centos   lxc-download  lxc-openmandriva  lxc-plamo   lxc-ubuntu-cloud
lxc-archlinux  lxc-cirros   lxc-fedora    lxc-opensuse      lxc-sshd

LXC创建容器

[root@VM-20-6-centos templates]# lxc-create -t ubuntu --name lxchost1 -- -r xenial -a amd64
-t 指定模板 --name 指定主机名 -- 设置主机内部参数  -r型号 -a CPU架构

##
# The default user is 'ubuntu' with password 'ubuntu'!
# Use the 'sudo' command to run tasks as root in the container.
##
# 创建完成会告诉我们默认用户为ubuntu,密码也是ubuntu,用ssh进行连接


[root@VM-20-6-centos templates]# lxc-ls -f 				# 查看虚拟机状态
NAME      STATE    IPV4  IPV6  AUTOSTART  
----------------------------------------
lxchost1  STOPPED  -     -     NO

下载安装完所有软件包之后,LXC容器镜像就创建完成了。容器会被放到/var/lib/lxc/<容器名>/rootfs 目录下.创建下载的软件包会被保存在/var/cache/lxc目录中,如果想要另外建一个一样的容器时,可以省下很多的下载时间

LXC连接容器

[root@VM-20-6-centos templates]# lxc-ls -f   			 # 查看容器信息
NAME      STATE    IPV4  IPV6  AUTOSTART  
----------------------------------------
lxchost1  STOPPED  -     -     NO         
[root@VM-20-6-centos templates]# lxc-start -n lxchost1 -d  # 启动容器
[root@VM-20-6-centos templates]# lxc-ls -f
NAME      STATE    IPV4            IPV6  AUTOSTART  
--------------------------------------------------
lxchost1  RUNNING  192.168.122.72  -     NO

方法1:使用ssh进行连接

[root@VM-20-6-centos templates]# ssh ubuntu@192.168.122.72
The authenticity of host '192.168.122.72 (192.168.122.72)' can't be established.
ECDSA key fingerprint is SHA256:tBKagxf+wL+8F65ec9OmR2zYHAuM1svMwEWW8AneW4M.
ECDSA key fingerprint is MD5:05:31:47:f6:4b:4b:52:39:04:8d:dc:9e:78:a4:cd:61.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.122.72' (ECDSA) to the list of known hosts.
ubuntu@192.168.122.72's password: 
Welcome to Ubuntu 16.04.7 LTS (GNU/Linux 3.10.0-1160.62.1.el7.x86_64 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu@lxchost1:~$ ls /
ubuntu@lxchost1:~$ df -h   # 查看挂载信息
ubuntu@lxchost1:~$ ps -ef

方法2:使用lxc-attach指令

[root@VM-20-6-centos templates]# lxc-attach -n lxchost1 --clear-env -- /bin/bash
root@lxchost1:/# ls /
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@lxchost1:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        59G   24G   33G  42% /
devtmpfs        1.8G     0  1.8G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G   12M  1.8G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
root@lxchost1:/# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 07:04 ?        00:00:00 /sbin/init
root        22     1 98 07:04 ?        00:19:18 /lib/systemd/systemd-journald
root        23     1  0 07:04 ?        00:00:00 /lib/systemd/systemd-udevd
root        93     1  0 07:04 ?        00:00:00 /usr/sbin/cron -f
syslog      95     1  0 07:04 ?        00:00:00 /usr/sbin/rsyslogd -n
root       170     1  0 07:04 ?        00:00:00 /sbin/dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp
root       198     1  0 07:04 lxc/console 00:00:00 /sbin/agetty --noclear --keep-baud console 115200 38400 9600 l
root       199     1  0 07:04 ?        00:00:00 /usr/sbin/sshd -D
root       237     0  0 07:23 ?        00:00:00 /bin/bash
root       249   237  0 07:24 ?        00:00:00 ps -ef

LXC来完成容器创建,可以了解到docker并不是容器的唯一实现。现如今docker基本上都已经时使用libcontainer而非LXC了

本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!  

云掣基于多年在运维领域的丰富时间经验,编写了《云运维服务白皮书》,欢迎大家互相交流学习:

《云运维服务白皮书》下载地址:https://fs80.cn/v2kbbq

想了解更多大数据运维托管服务、数据库运维托管服务、应用系统运维托管服务的的客户,欢迎点击云掣官网沟通咨询:https://yunche.pro/?t=shequ












相关文章

什么是 SRE?一文详解 SRE 运维体系

什么是 SRE?一文详解 SRE 运维体系

可观测性系统在任何有一定规模的企业内部,一旦推行起来整个SRE的运维模式,那么对于可观测性系统的建设将变得尤为重要,而在整个可观测性系统中,通常我们会分为如下三个方面:指标监控:即各种指标监控,比如基...

玩转大数据16:大数据存储与文件格式优化

玩转大数据16:大数据存储与文件格式优化

随着大数据时代的到来,存储和处理海量数据成为了一个重要的挑战。在大数据存储中,选择合适的文件格式对数据的压缩率、读写性能和扩展性起着关键作用。本文将介绍大数据存储的挑战,探讨常见的文件格式,并深入讨论...

走进docker的世界之入门篇

走进docker的世界之入门篇

什么是dockerDocker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚...

【Docker 】深入探索 Docker :高阶操作与配置设置(下)

【Docker 】深入探索 Docker :高阶操作与配置设置(下)

四、容器的资源限制Docker 允许用户限制容器使用的系统资源,如 CPU 和内存,从而确保其他容器和主机的稳定性。4.1 限制 CPU 使用要限制容器使用的 CPU 核心,可以使用 --cpus 参...

Docker:LXC容器操作实战

Docker:LXC容器操作实战

前言通过LXC来完成容器的创建、体会什么是容器。利用LXC容器技术来隔离特定的应用,提供虚拟执行环境,从而优化资源管理和部署效率。什么是LXC?LXC为Linux Container的简写,是一种可以...

Gradle 8.4.0 配置阿里云镜像的详细指南

Gradle 8.4.0 配置阿里云镜像的详细指南

引言Gradle 是一个强大的构建工具,广泛用于自动化构建、测试、发布等过程。然而,由于网络原因,Gradle 默认的 Maven 中央仓库访问速度可能较慢,特别是在中国大陆地区。为了提高依赖下载速度...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。