searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

LXD容器基本命令及配置介绍

2023-07-24 08:51:57
83
0

LXD容器

       LXD容器是一种对操作系统层面进行虚拟化的容器技术。这种容器技术介于传统虚拟化(如KVM、VMware)和容器编排(如Docker、Kubernetes)之间,专注提供类似于虚拟机的隔离环境,但资源占用更少,且性能更接近原生系统。在需要运行多类型的工作负载,或者需要完整的操作系统环境的场景下,LXD容器技术会是比Docker类容器技术更加适合的容器部署方案。

 

1、LXD容器启动

运行LXD前,需要先执行LXD的初始化命令对容器应用进行初始化

#lxd init

从远程服务器或者本地目录拉取到LXD本地的镜像仓库,通过--alias选项可以对镜像进行命名

#lxc image copy <remote_server> local: --alias image-name

查看操作本地镜像仓库

#lxc image list 
#lxc delete <image>

使用本地镜像仓库创建LXD容器,第一条是容器创建命令,第二条是容器创建后启动/关闭容器的命令

#lxc init <image> <container>
#lxc start/stop <container>

查看操作容器

#lxc list
#lxc delete <container>

 

2、LXD容器的配置

LXD可以通过命令对容器配置,或者可以通过特定格式的yaml文件编写容器配置模板,来对容器进行批量的分组配置

直接修改容器配置,可以配置的选项可以在官网文档中查看,下面命令是配置容器的cpu占用最高为宿主机的10%

#lxc config set <container> limits.cpu.allowance 10%

查看/修改容器的配置,edit命令和set命令不同的地方是可以对容器的配置文件直接修改来生效配置

#lxc config show --expanded <container>
#lxc config edit <container>

修改容器的yaml配置模板文件

#lxc profile edit <profile>

yaml配置文件内容如下

config:
  boot.autostart: "true"
  linux.kernel_modules: ip_vs,ip_vs_rr,ip_vs_wrr,ip_vs_sh,ip_tables,ip6_tables,netlink_diag,nf_nat,overlay,br_netfilter
  raw.lxc: |
    lxc.apparmor.profile=unconfined
    lxc.mount.auto=proc:rw sys:rw cgroup:rw
    lxc.cgroup.devices.allow=a
    lxc.cap.drop=
  security.nesting: "true"
  security.privileged: "true"
description: Default LXD profile
devices:
  eth0:
    name: eth0
    network: lxdbr0
    type: nic
  root:
    path: /
    pool: default
    type: disk
name: default
used_by: []

将配置文件应用到指定容器

#lxc profile apply <container> <profile>

 

3、容器内命令执行和文件传输

容器内命令执行

#lxc exec <container> command
#lxc exec <container> bash

容器和宿主机的文件互传

#从容器中获取文件
#lxc file pull <container>/<path> <dest>
#发送文件到容器
#lxc file push <source> <container>/<path>
#编辑容器中的文件
#lxc file edit <container>/<path>
0条评论
0 / 1000
何****强
2文章数
0粉丝数
何****强
2 文章 | 0 粉丝
何****强
2文章数
0粉丝数
何****强
2 文章 | 0 粉丝
原创

LXD容器基本命令及配置介绍

2023-07-24 08:51:57
83
0

LXD容器

       LXD容器是一种对操作系统层面进行虚拟化的容器技术。这种容器技术介于传统虚拟化(如KVM、VMware)和容器编排(如Docker、Kubernetes)之间,专注提供类似于虚拟机的隔离环境,但资源占用更少,且性能更接近原生系统。在需要运行多类型的工作负载,或者需要完整的操作系统环境的场景下,LXD容器技术会是比Docker类容器技术更加适合的容器部署方案。

 

1、LXD容器启动

运行LXD前,需要先执行LXD的初始化命令对容器应用进行初始化

#lxd init

从远程服务器或者本地目录拉取到LXD本地的镜像仓库,通过--alias选项可以对镜像进行命名

#lxc image copy <remote_server> local: --alias image-name

查看操作本地镜像仓库

#lxc image list 
#lxc delete <image>

使用本地镜像仓库创建LXD容器,第一条是容器创建命令,第二条是容器创建后启动/关闭容器的命令

#lxc init <image> <container>
#lxc start/stop <container>

查看操作容器

#lxc list
#lxc delete <container>

 

2、LXD容器的配置

LXD可以通过命令对容器配置,或者可以通过特定格式的yaml文件编写容器配置模板,来对容器进行批量的分组配置

直接修改容器配置,可以配置的选项可以在官网文档中查看,下面命令是配置容器的cpu占用最高为宿主机的10%

#lxc config set <container> limits.cpu.allowance 10%

查看/修改容器的配置,edit命令和set命令不同的地方是可以对容器的配置文件直接修改来生效配置

#lxc config show --expanded <container>
#lxc config edit <container>

修改容器的yaml配置模板文件

#lxc profile edit <profile>

yaml配置文件内容如下

config:
  boot.autostart: "true"
  linux.kernel_modules: ip_vs,ip_vs_rr,ip_vs_wrr,ip_vs_sh,ip_tables,ip6_tables,netlink_diag,nf_nat,overlay,br_netfilter
  raw.lxc: |
    lxc.apparmor.profile=unconfined
    lxc.mount.auto=proc:rw sys:rw cgroup:rw
    lxc.cgroup.devices.allow=a
    lxc.cap.drop=
  security.nesting: "true"
  security.privileged: "true"
description: Default LXD profile
devices:
  eth0:
    name: eth0
    network: lxdbr0
    type: nic
  root:
    path: /
    pool: default
    type: disk
name: default
used_by: []

将配置文件应用到指定容器

#lxc profile apply <container> <profile>

 

3、容器内命令执行和文件传输

容器内命令执行

#lxc exec <container> command
#lxc exec <container> bash

容器和宿主机的文件互传

#从容器中获取文件
#lxc file pull <container>/<path> <dest>
#发送文件到容器
#lxc file push <source> <container>/<path>
#编辑容器中的文件
#lxc file edit <container>/<path>
文章来自个人专栏
云计算容器技术
1 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0