镜像管理

docker镜像管理

登录到镜像仓库

描述

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

用法

  1. isula login [OPTIONS] SERVER

参数

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

示例

  1. $ isula login -u abc my.csp-edge.com:5000
  2. Login Succeeded

从镜像仓库退出登录

描述

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

用法

  1. isula logout SERVER

参数

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

示例

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

从镜像仓库拉取镜像

描述

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

用法

  1. isula pull [OPTIONS] NAME[:TAG|@DIGEST]

参数

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

示例

  1. $ isula pull localhost:5000/official/busybox
  2. Image "localhost:5000/official/busybox" pulling
  3. Image "localhost:5000/official/busybox@sha256:bf510723d2cd2d4e3f5ce7e93bf1e52c8fd76831995ac3bd3f90ecc866643aff" pulled

删除镜像

描述

删除一个或多个镜像。

用法

  1. isula rmi [OPTIONS] IMAGE [IMAGE...]

参数

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

示例

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

加载镜像

描述

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

用法

  1. isula load [OPTIONS]

参数

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

示例

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

列出镜像

描述

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

用法

  1. isula images

参数

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

示例

  1. $ isula images
  2. REF IMAGE ID CREATED SIZE
  3. rnd-dockerhub.huawei.com/official/busybox:latest e4db68de4ff2 2019-06-15 08:19:54 1.376 MB

检视镜像

描述

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

用法

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

参数

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

示例

  1. $ isula inspect -f "{{json .image.id}}" rnd-dockerhub.huawei.com/official/busybox
  2. "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时携带参数:

  1. isulad --use-decrypted-key=false

示例

配置use-decrypted-key参数为false

  1. $ cat /etc/isulad/daemon.json
  2. {
  3. "group": "isulad",
  4. "graph": "/var/lib/isulad",
  5. "state": "/var/run/isulad",
  6. "engine": "lcr",
  7. "log-level": "ERROR",
  8. "pidfile": "/var/run/isulad.pid",
  9. "log-opts": {
  10. "log-file-mode": "0600",
  11. "log-path": "/var/lib/isulad",
  12. "max-file": "1",
  13. "max-size": "30KB"
  14. },
  15. "log-driver": "stdout",
  16. "hook-spec": "/etc/default/isulad/hooks/default.json",
  17. "start-timeout": "2m",
  18. "storage-driver": "overlay2",
  19. "storage-opts": [
  20. "overlay2.override_kernel_check=true"
  21. ],
  22. "registry-mirrors": [
  23. "docker.io"
  24. ],
  25. "insecure-registries": [
  26. "rnd-dockerhub.huawei.com"
  27. ],
  28. "pod-sandbox-image": "",
  29. "image-opt-timeout": "5m",
  30. "native.umask": "secure",
  31. "network-plugin": "",
  32. "cni-bin-dir": "",
  33. "cni-conf-dir": "",
  34. "image-layer-check": false,
  35. "use-decrypted-key": false,
  36. "insecure-skip-verify-enforce": false
  37. }

将证书放到对应的目录下

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

重启isulad

  1. $ systemctl restart isulad

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

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

embedded镜像管理

加载镜像

描述

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

用法

  1. isula load [OPTIONS] --input=FILE --type=TYPE

参数

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

示例

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

列出镜像

描述

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

用法

  1. isula images [OPTIONS]

参数

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

示例

  1. $ isula images
  2. REF IMAGE ID CREATED SIZE
  3. test:v1 9319da1f5233 2018-03-01 10:55:44 1.273 MB

检视镜像

描述

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

用法

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

参数

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

示例

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

删除镜像

描述

删除一个或多个镜像。

用法

  1. isula rmi [OPTIONS] IMAGE [IMAGE...]

参数

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

示例

  1. $ isula rmi test:v1
  2. Image "test:v1" removed

添加名称

描述

给镜像添加一个名称。

用法

  1. isula tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

参数

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

示例

  1. $ isula tag test:v1 test:v2

导入镜像

描述

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

用法

  1. isula export [command options] [ID|NAME]

参数

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

示例

  1. $ isula export -o test.tar containername