查询镜像配置
此接口用于查询指定镜像的配置信息。
接口描述
通信协议:HTTP
URL:GET /api/v1/image/config
传参方式:query
请求参数
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
ref | string | 是 | 镜像信息字符串,包括镜像名称、版本和系统信息,格式为 name@tag#os,在实际请求中 # 会被转义为 %23 |
响应参数
字段名 | 类型 | 说明 |
---|---|---|
config | DockerImageConfig | EcsImageConifg | 镜像配置信息,其中 DockerImageConfig 为 Linux 系统镜像配置信息,EcsImageConifg 为 SylixOS 系统镜像配置信息 |
DockerImageConfig
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
hostname | string | 否 | 容器的主机名称 |
publish | Publish[ ] | 否 | 容器与宿主机的端口映射 |
env | string[ ] | 否 | 启动容器的环境变量 |
cmd | string[ ] | 否 | 启动容器的命令行参数 |
name | string | 否 | 容器名称 |
restart | string | 否 | 重启策略 |
network | string | 否 | 网络类型 |
dns | string[ ] | 否 | 容器内的 DNS 地址 |
dnsSearch | string[ ] | 否 | DNS 搜索域名 |
cpus | number | 否 | CPU 数 |
cpusetCpus | string | 否 | 允许执行的 CPU |
cpuShares | number | 否 | CPU 份额 |
memory | number | 否 | 内存 |
mount | Mount[ ] | 否 | 文件系统 |
device | Device[ ] | 否 | 设备 |
healthCmd | string | 否 | 检查命令 |
healthInterval | number | 否 | 间隔时间 |
healthRetries | number | 否 | 重试次数 |
healthStartPeriod | number | 否 | 启动时间 |
healthTimeout | number | 否 | 超时时间 |
privileged | boolean | 否 | 是否特权运行 |
Publish
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
hostPort | number | 是 | 主机端口 |
containerPort | number | 是 | 容器端口 |
netType | string | 是 | 协议类型,如 TCP、UDP 等 |
Mount
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
destination | string | 是 | 容器内的路径 |
source | string | 是 | 宿主机的路径 |
options | string[ ] | 是 | 挂载权限,其中“ro”为只读、“rw”为读写,默认为"ro"只读 |
Device
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
hostPath | string | 是 | 宿主机设备路径 |
containerPath | string | 是 | 容器设备路径 |
access | string | 是 | 访问权限 |
EcsImageConifg
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
platform | Platform | 否 | 平台信息 |
process | Process | 否 | 进程信息 |
root | Root | 否 | 容器运行的根文件系统路径 |
hostname | string | 否 | 主机名称 |
mounts | Mount[ ] | 否 | 挂载信息 |
sylixos | SylixOS | 否 | SylixOS 定义的配置信息 |
Platform
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
os | string | 是 | 镜像系统 |
arch | string | 是 | 镜像架构 |
Process
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
args | string[ ] | 是 | 进程参数 |
env | string[ ] | 是 | 环境变量 |
cwd | string | 是 | 工作目录 |
Root
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
path | string | 是 | 根目录 |
readonly | boolean | 是 | 是否只读 |
Mounts
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
destination | string | 是 | 容器内的路径 |
source | string | 是 | 宿主机的路径 |
options | string[ ] | 是 | 挂载权限,其中“ro”为只读、“rw”为读写,默认为"ro"只读 |
SylixOS
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
devices | Device[ ] | 否 | 设备信息 |
resources | Resource | 是 | 资源信息 |
network | Network | 是 | 网络信息 |
commands | string[ ] | 是 | 容器内能执行的 shell 命令 |
Devices
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
path | string | 是 | 文件路径 |
access | string | 是 | 访问权限,包括读、写和可执行权限 |
Resources
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
cpu | CPU | 是 | CPU 配置 |
memory | Memory | 是 | 内存配置 |
disk | Disk | 是 | 磁盘配置 |
kernelObject | KernelObject | 是 | 内核对象配置 |
CPU
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
highestPrio | int | 是 | 最高线程优先级 |
lowestPrio | int | 是 | 低线程优先级 |
Memory
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
kheapLimit | int | 是 | 内核堆限制 |
memoryLimitMB | int | 是 | 物理内存限制 |
Disk
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
limitMB | int | 是 | 磁盘用量限制,单位 MB |
KernelObject
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
threadLimit | number | 是 | 线程数量限制 |
threadPoolLimit | number | 是 | 线程池数量限制 |
eventLimit | number | 是 | 事件数量限制 |
eventSetLimit | number | 是 | 事件集数量限制 |
partitionLimit | number | 是 | 定长内存分区数量限制 |
regionLimit | number | 是 | 变量内存区数量限制 |
msgQueueLimit | number | 是 | 消息队列数量限制 |
timerLimit | number | 是 | 定时器数量限制 |
rmsLimit | number | 是 | RMS 调度器数量限制 |
threadVarLimit | number | 是 | 线程变量数量限制 |
posixMqueueLimit | number | 是 | POSIX 消息队列数量限制 |
dlopenLibraryLimit | number | 是 | dlopen 打开的共享库数量限制 |
xsiipcLimit | number | 是 | XSIIPC 数量限制 |
socketLimit | number | 是 | SOCKET 数量限制 |
srtpLimit | number | 是 | SRTP 数量限制 |
deviceLimit | number | 是 | 设备数量限制 |
Network
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
ftpdEnable | boolean | 是 | 启动 FTPD 服务器 |
telnetdEnable | boolean | 是 | 启用 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
}
}
}
}
}
错误码
具体请参见 错误码说明。