Menu

目录

创建容器

描述

lcrc create 命令用于创建一个新的容器。容器引擎会使用指定的容器镜像创建容器读写层,或者使用指定的本地rootfs作为容器的运行环境。创建完成后,会将容器的ID输出到标准输出,后续可以使用lcrc start 命令启动该容器。新创建的容器状态为inited状态

用法

lcrc create [OPTIONS] IMAGE [COMMAND] [ARG...]

参数

create命令支持参数参考下表。

表 1 create命令参数列表

命令

参数

说明

create

–cap-drop

删除Linux 权限功能

–cgroup-parent

指定容器cgroup父路径

–cpuset-cpus

允许执行的CPU(e.g. 0-3,0,1)

–cpu-shares

CPU份额(相对权重)

–cpu-quota

限制CPU CFS(完全公平调度器)的配额

–device=[]

为容器添加一个主机设备

-e, –env

设置环境变量

–entrypoint

启动容器时要运行的入口点

–external-rootfs=PATH

指定一个不由LCRD管理的rootfs(可以为文件夹或块设备)给容器

–files-limit

调整容器内能够打开的文件句柄数(-1表示不限制)

–group-add=[]

指定额外的用户组添加到容器

–help

打印帮助信息

–hook-spec

钩子配置文件

-H, –host

指定要连接的LCRD socket文件路径

-h, –hostname

容器主机名称

-i, –interactive

即使没有连接到容器的标准输入,也要保持容器的标准输入打开

–hugetlb-limit=[]

大页文件限制,例如:–hugetlb-limit 2MB:32MB

–log-opt=[]

日志驱动程序选项,默认禁用记录容器串口日志功能,可以通过”–log-opt disable-log=false”来开启。

-m, –memory

内存限制

–memory-reservation

设置容器内存限制,默认与–memory一致。可认为–memory是硬限制,–memory-reservation是软限制;当使用内存超过预设值时,会动态调整(系统回收内存时尝试将使用内存降低到预设值以下),但不确保一定不超过预设值。一般可以和–memory一起使用,数值小于–memory的预设值,最小设置为4MB。

–memory-swap

正整数,内存 + 交换空间,-1 表示不限制

–mount

挂载主机目录到容器中

–name=NAME

容器名

–net=none

容器连接到网络

–pids-limit

调整容器内能够执行的进程数(-1表示不限制)

–privileged

给予容器扩展的特权

-R, –runtime

容器运行时,参数支持”lcr”,忽略大小写,因此”LCR”和”lcr”是等价的

–read-only

设置容器的根文件系统为只读

–restart

当容器退出时重启策略

系统容器支持–restart on-reboot

–storage-opt

配置容器的存储驱动选项

-t, –tty

分配伪终端

–ulimit

为容器设置ulimit限制

-u, –user

用户名或UID,格式[<name|uid>][:<group|gid>]

-v, –volume=[]

挂载一个卷

约束限制

  • 使用–user或–group-add参数,在容器启动阶段校验user或group时,容器如果使用的是OCI镜像,是从镜像的真实rootfs的etc/passwd和etc/group文件中校验,如果使用的是rootfs文件夹或块设备作为容器的rootfs,则校验的是host中的etc/passwd和etc/group文件;查找时使用的rootfs会忽略-v 和–mount等挂载参数,意味着使用这些参数尝试覆盖etc/passwd和etc/group两个文件时,在查找阶段不生效,只在容器真正启动时生效。生成的配置保存在”iSulad根目录/engine/容器ID/start_generate_config.json”,文件格式如下:

    {
        "uid": 0,
        "gid": 8,
        "additionalGids": [
            1234,
            8
        ]
    }
    

示例

创建一个新容器

$ lcrc create busybox
fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1
$ lcrc ps -a
STATUS PID IMAGE   COMMAND EXIT_CODE RESTART_COUNT STARTAT FINISHAT RUNTIME ID           NAMES                                                            inited -   busybox "sh"    0         0             -       -        lcr     fd7376591a9c fd7376591a9c4521...