云原生

版本:25.03

镜像管理

docker镜像管理

登录到镜像仓库

描述

isula login命令用于登录到镜像仓库。登录成功后可以使用isula pull命令从该镜像仓库拉取镜像。如果镜像仓库不需要密码,则拉取镜像前不需要执行该命令。

用法

bash
isula login [OPTIONS] SERVER

参数

login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表1 表1-20 login命令参数列表" 。

示例

bash
$ isula login -u abc my.csp-edge.com:5000

Login Succeeded

从镜像仓库退出登录

描述

isula logout命令用于从镜像仓库退出登录。退出登录成功后再执行isula pull命令从该镜像仓库拉取镜像会因为未认证而拉取失败。

用法

bash
isula logout SERVER

参数

logout命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表2 logout命令参数列表"。

示例

bash
$ isula logout my.csp-edge.com:5000
Logout Succeeded

从镜像仓库拉取镜像

描述

从镜像仓库拉取镜像到本地。

用法

bash
isula pull [OPTIONS] NAME[:TAG]

参数

login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表3 pull命令参数列表"。

示例

bash
$ isula pull localhost:5000/official/busybox
Image "localhost:5000/official/busybox" pulling
Image "localhost:5000/official/busybox@sha256:bf510723d2cd2d4e3f5ce7e93bf1e52c8fd76831995ac3bd3f90ecc866643aff" pulled

删除镜像

描述

删除一个或多个镜像。

用法

bash
isula rmi [OPTIONS] IMAGE [IMAGE...]

参数

rmi命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表4 rmi命令参数列表"。

示例

bash
$ isula rmi rnd-dockerhub.huawei.com/official/busybox
Image "rnd-dockerhub.huawei.com/official/busybox" removed

添加镜像标签

描述

tag命令用于添加镜像标签

用法

bash
isula tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

参数

tag命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表8 tag命令参数列表"。

示例

bash
$ isula tag busybox:latest test:latest

加载镜像

描述

从一个tar包加载镜像。该tar包必须是使用docker save命令导出的tar包或格式一致的tar包。

用法

bash
isula load [OPTIONS]

参数

load命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表5 load命令参数列表"。

示例

bash
$ isula load -i busybox.tar
Load image from "/root/busybox.tar" success

列出镜像

描述

列出当前环境中所有镜像。

用法

bash
isula images [OPTIONS]

参数

images命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表6 images命令参数列表"。

示例

bash
$ isula images
REPOSITORY                                   TAG        IMAGE ID             CREATED              SIZE
busybox                                      latest     beae173ccac6         2021-12-31 03:19:41  1.184MB

检视镜像

描述

返回该镜像的配置信息。可以使用-f参数过滤出需要的信息。

用法

bash
isula inspect [options] CONTAINER|IMAGE [CONTAINER|IMAGE...]

参数

inspect命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表7 inspect命令参数列表"。

示例

bash
$ isula inspect -f "{{json .image.id}}" rnd-dockerhub.huawei.com/official/busybox
"e4db68de4ff27c2adfea0c54bbb73a61a42f5b667c326de4d7d5b19ab71c6a3b"

双向认证

描述

开启该功能后isulad和镜像仓库之间的通信采用https通信,isulad和镜像仓库都会验证对方的合法性。

用法

要支持该功能,需要镜像仓库支持该功能,同时isulad也需要做相应的配置:

  1. 修改isulad的配置(默认路径/etc/isulad/daemon.json),将配置里的use-decrypted-key项配置为false。

  2. 需要将相关的证书放置到/etc/isulad/certs.d目录下对应的镜像仓库命名的文件夹下,证书具体的生成方法见docker的官方链接:

  3. 执行systemctl restart isulad重启isulad。

参数

可以在/etc/isulad/daemon.json中配置参数,也可以在启动isulad时携带参数:

bash
isulad --use-decrypted-key=false

示例

配置use-decrypted-key参数为false

bash
$ cat /etc/isulad/daemon.json
{
    "group": "isulad",
    "graph": "/var/lib/isulad",
    "state": "/var/run/isulad",
    "engine": "lcr",
    "log-level": "ERROR",
    "pidfile": "/var/run/isulad.pid",
    "log-opts": {
        "log-file-mode": "0600",
        "log-path": "/var/lib/isulad",
        "max-file": "1",
        "max-size": "30KB"
    },
    "log-driver": "stdout",
    "hook-spec": "/etc/default/isulad/hooks/default.json",
    "start-timeout": "2m",
    "storage-driver": "overlay2",
    "storage-opts": [
        "overlay2.override_kernel_check=true"
    ],
    "registry-mirrors": [
        "docker.io"
    ],
    "insecure-registries": [
        "rnd-dockerhub.huawei.com"
    ],
    "pod-sandbox-image": "",
    "image-opt-timeout": "5m",
    "native.umask": "secure",
    "network-plugin": "",
    "cni-bin-dir": "",
    "cni-conf-dir": "",
    "image-layer-check": false,
    "use-decrypted-key": false,
    "insecure-skip-verify-enforce": false
}

将证书放到对应的目录下

bash
$ pwd
/etc/isulad/certs.d/my.csp-edge.com:5000
$ ls
ca.crt  tls.cert  tls.key

重启isulad

bash
$ systemctl restart isulad

执行pull命令从仓库下载镜像

bash
$ isula pull my.csp-edge.com:5000/busybox
Image "my.csp-edge.com:5000/busybox" pulling
Image "my.csp-edge.com:5000/busybox@sha256:f1bdc62115dbfe8f54e52e19795ee34b4473babdeb9bc4f83045d85c7b2ad5c0" pulled

导入rootfs

描述

把包含了一个rootfs的tar包导入为镜像,该tar包一般是之前使用export命令导出的,也可以是格式兼容的包含rootfs的tar包。目前支持 格式(.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz),请勿使用其他格式的tar包进行导入。

用法

bash
isula import file REPOSITORY[:TAG]

导入成功后打印的字符串是导入的rootfs生成的镜像id

参数

import命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表9 import命令参数列表"。

示例

bash
$ isula import busybox.tar test
sha256:441851e38dad32478e6609a81fac93ca082b64b366643bafb7a8ba398301839d
$ isula images
REPOSITORY      TAG        IMAGE ID            CREATED                  SIZE
test            latest     441851e38dad        2020-09-01 11:14:35      1.168 MB

导出rootfs

描述

把一个容器的rootfs文件系统内容导出成tar包,导出的rootfs的tar包可以在后面使用import功能重新导入成镜像。

用法

bash
isula export [OPTIONS] [ID|NAME]

参数

export命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表10 export命令参数列表"。

示例

bash
$ isula run -tid --name container_test test sh
d7e601c2ef3eb8d378276d2b42f9e58a2f36763539d3bfcaf3a0a77dc668064b
$ isula export -o rootfs.tar d7e601c
$ ls
rootfs.tar

embedded镜像管理

加载镜像

描述

根据embedded镜像的manifest加载镜像。注意--type的值必须填写embedded。

用法

bash
isula load [OPTIONS] --input=FILE --type=TYPE

参数

load命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表5 load命令参数列表"。

示例

bash
$ isula load -i test.manifest --type embedded
Load image from "/root/work/bugfix/tmp/ci_testcase_data/embedded/img/test.manifest" success

列出镜像

描述

列出当前环境中所有镜像。

用法

bash
isula images [OPTIONS]

参数

images命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表6 images命令参数列表"。

示例

bash
$ isula images
REPOSITORY                                   TAG        IMAGE ID             CREATED              SIZE
busybox                                      latest     beae173ccac6         2021-12-31 03:19:41  1.184MB

检视镜像

描述

返回该镜像的配置信息。可以使用-f参数过滤出需要的信息。

用法

bash
isula inspect [options] CONTAINER|IMAGE [CONTAINER|IMAGE...]

参数

inspect命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表7 inspect命令参数列表"。

示例

bash
$ isula inspect -f "{{json .created}}" test:v1
"2018-03-01T15:55:44.322987811Z"

删除镜像

描述

删除一个或多个镜像。

用法

bash
isula rmi [OPTIONS] IMAGE [IMAGE...]

参数

rmi命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表4 rmi命令参数列表"。

示例

bash
$ isula rmi test:v1
Image "test:v1" removed

添加名称

描述

给镜像添加一个名称。

用法

bash
isula tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

参数

tag命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表8 tag命令参数列表"。

示例

bash
$ isula tag test:v1 test:v2

导入镜像

描述

将tar格式的rootfs导入生成一个新的镜像,该tar包必须是通过export命令导出的tar包。

用法

bash
isula export [command options] [ID|NAME]

参数

export命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表9 export命令参数列表"。

示例

bash
$ isula export -o test.tar containername