查询镜像配置

更新时间:
2025-01-14

查询镜像配置

此接口用于查询指定镜像的配置信息。

接口描述

通信协议:HTTP

URL:GET /api/v1/image/config

传参方式:query

请求参数

字段名 类型 是否必填 说明
refstring镜像信息字符串,包括镜像名称、版本和系统信息,格式为 name@tag#os,在实际请求中 # 会被转义为 %23

响应参数

字段名类型说明
configDockerImageConfig | EcsImageConifg镜像配置信息,其中 DockerImageConfig 为 Linux 系统镜像配置信息,EcsImageConifg 为 SylixOS 系统镜像配置信息

DockerImageConfig

字段名类型是否必填说明
hostnamestring容器的主机名称
publishPublish[ ]容器与宿主机的端口映射
envstring[ ]启动容器的环境变量
cmdstring[ ]启动容器的命令行参数
namestring容器名称
restartstring重启策略
networkstring网络类型
dnsstring[ ]容器内的 DNS 地址
dnsSearchstring[ ]DNS 搜索域名
cpusnumberCPU 数
cpusetCpusstring允许执行的 CPU
cpuSharesnumberCPU 份额
memorynumber内存
mountMount[ ]文件系统
deviceDevice[ ]设备
healthCmdstring检查命令
healthIntervalnumber间隔时间
healthRetriesnumber重试次数
healthStartPeriodnumber启动时间
healthTimeoutnumber超时时间
privilegedboolean是否特权运行

Publish

字段名类型是否必填说明
hostPortnumber主机端口
containerPortnumber容器端口
netTypestring协议类型,如 TCP、UDP 等

Mount

字段名类型是否必填说明
destinationstring容器内的路径
sourcestring宿主机的路径
optionsstring[ ]挂载权限,其中“ro”为只读、“rw”为读写,默认为"ro"只读

Device

字段名类型是否必填说明
hostPathstring宿主机设备路径
containerPathstring容器设备路径
accessstring访问权限

EcsImageConifg

字段名类型是否必填说明
platformPlatform平台信息
processProcess进程信息
rootRoot容器运行的根文件系统路径
hostnamestring主机名称
mountsMount[ ]挂载信息
sylixosSylixOSSylixOS 定义的配置信息

Platform

字段名类型是否必填说明
osstring镜像系统
archstring镜像架构

Process

字段名类型是否必填说明
argsstring[ ]进程参数
envstring[ ]环境变量
cwdstring工作目录

Root

字段名类型是否必填说明
pathstring根目录
readonlyboolean是否只读

Mounts

字段名类型是否必填说明
destinationstring容器内的路径
sourcestring宿主机的路径
optionsstring[ ]挂载权限,其中“ro”为只读、“rw”为读写,默认为"ro"只读

SylixOS

字段名类型是否必填说明
devicesDevice[ ]设备信息
resourcesResource资源信息
networkNetwork网络信息
commandsstring[ ]容器内能执行的 shell 命令

Devices

字段名类型是否必填说明
pathstring文件路径
accessstring访问权限,包括读、写和可执行权限

Resources

字段名类型是否必填说明
cpuCPUCPU 配置
memoryMemory内存配置
diskDisk磁盘配置
kernelObjectKernelObject内核对象配置

CPU

字段名类型是否必填说明
highestPrioint最高线程优先级
lowestPrioint低线程优先级

Memory

字段名类型是否必填说明
kheapLimitint内核堆限制
memoryLimitMBint物理内存限制

Disk

字段名类型是否必填说明
limitMBint磁盘用量限制,单位 MB

KernelObject

字段名类型是否必填说明
threadLimitnumber线程数量限制
threadPoolLimitnumber线程池数量限制
eventLimitnumber事件数量限制
eventSetLimitnumber事件集数量限制
partitionLimitnumber定长内存分区数量限制
regionLimitnumber变量内存区数量限制
msgQueueLimitnumber消息队列数量限制
timerLimitnumber定时器数量限制
rmsLimitnumberRMS 调度器数量限制
threadVarLimitnumber线程变量数量限制
posixMqueueLimitnumberPOSIX 消息队列数量限制
dlopenLibraryLimitnumberdlopen 打开的共享库数量限制
xsiipcLimitnumberXSIIPC 数量限制
socketLimitnumberSOCKET 数量限制
srtpLimitnumberSRTP 数量限制
deviceLimitnumber设备数量限制

Network

字段名类型是否必填说明
ftpdEnableboolean启动 FTPD 服务器
telnetdEnableboolean启用 TELNETD 服务器

请求示例

curl --location --request GET 'http://localhost:3001/api/v1/image/config?ref=redis@latest%23linux'

响应示例

Linux 镜像响应示例

{
    "status": 200,
    "message": "success",
    "fieldErrors": null,
    "data": {
        "config": {
            "hostname": "",
            "publish": [
                {
                    "hostPort": 6379,
                    "containerPort": 6379,
                    "netType": "tcp"
                }
            ],
            "env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GOSU_VERSION=1.14",
                "REDIS_VERSION=7.0.5",
                "REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-7.0.5.tar.gz",
                "REDIS_DOWNLOAD_SHA=67054cc37b58c125df93bd78000261ec0ef4436a26b40f38262c780e56315cc3"
            ],
            "cmd": [
                "redis-server"
            ]
        }
    }
}

SylixOS 镜像响应示例

{
    "status": 200,
    "message": "success",
    "fieldErrors": null,
    "data": {
        "config": {
            "platform": {
                "os": "sylixos",
                "arch": "x86-64"
            },
            "process": {
                "args": [
                    "/root/vsoa_server"
                ],
                "env": [
                    "PATH=/usr/bin:/bin:/usr/pkg/sbin:/sbin:/usr/local/bin",
                    "TERM=vt100"
                ],
                "cwd": "/rootfs"
            },
            "root": {},
            "hostname": "sylixos_ecs",
            "mounts": [
                {
                    "destination": "/qt",
                    "source": "/qt",
                    "options": [
                        "rx"
                    ]
                },
                {
                    "destination": "/etc/lic",
                    "source": "/etc/lic",
                    "options": [
                        "rx"
                    ]
                }
            ],
            "sylixos": {
                "commands": [
                    "exec",
                    "top",
                    "cpuus",
                    "vi",
                    "cat",
                    "touch",
                    "ps",
                    "ts",
                    "tp",
                    "ss",
                    "ints",
                    "ls",
                    "cd",
                    "pwd",
                    "modules",
                    "varload",
                    "varsave",
                    "shstack",
                    "srtp",
                    "shfile",
                    "help",
                    "debug",
                    "shell",
                    "ll",
                    "sync",
                    "ln",
                    "kill",
                    "free",
                    "ifconfig",
                    "mems",
                    "env"
                ],
                "devices": [
                    {
                        "path": "/dev/fb0",
                        "access": "rw"
                    },
                    {
                        "path": "/dev/input/xmse",
                        "access": "rw"
                    },
                    {
                        "path": "/dev/input/xkbd",
                        "access": "rw"
                    },
                    {
                        "path": "/dev/net/vnd",
                        "access": "rw"
                    }
                ],
                "resources": {
                    "cpu": {
                        "highestPrio": 160,
                        "lowestPrio": 250
                    },
                    "memory": {
                        "kheapLimit": 2097152,
                        "memoryLimitMB": 2048
                    },
                    "disk": {
                        "limitMB": 2048
                    },
                    "kernelObject": {
                        "deviceLimit": 60,
                        "dlopenLibraryLimit": 50,
                        "eventLimit": 800,
                        "eventSetLimit": 50,
                        "msgQueueLimit": 50,
                        "partitionLimit": 5,
                        "posixMqueueLimit": 300,
                        "regionLimit": 5,
                        "rmsLimit": 5,
                        "socketLimit": 50,
                        "srtpLimit": 10,
                        "threadLimit": 300,
                        "threadPoolLimit": 1,
                        "threadVarLimit": 2,
                        "timerLimit": 5,
                        "xsiipcLimit": 100
                    }
                },
                "network": {
                    "ftpdEnable": true,
                    "telnetdEnable": true
                }
            }
        }
    }
}

错误码

具体请参见 错误码说明

文档内容是否对您有所帮助?
有帮助
没帮助