Cloud

Version: 22.03 LTS SP4

Image Management

Container Image Management

Logging In to a Registry

Description

The isula login command is run to log in to a registry. After successful login, you can run the isula pull command to pull images from the registry. If the registry does not require a password, you do not need to run this command before pulling images.

Usage

shell
isula login [OPTIONS] SERVER

Parameters

For details about the parameters in the login command, see Appendix > Command Line Parameters > Table 1 login command parameters.

Example

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

Login Succeeded

Logging Out of a Registry

Description

The isula logout command is run to log out of a registry. If you run the isula pull command to pull images from the registry after logging out of the system, the image will fail to be pulled because you are not authenticated.

Usage

shell
isula logout SERVER

Parameters

For details about the parameters in the logout command, see Appendix > Command Line Parameters > Table 2 logout command parameters.

Example

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

Pulling Images from a Registry

Description

Pull images from a registry to the local host.

Usage

shell
isula pull [OPTIONS] NAME[:TAG]

Parameters

For details about the parameters in the pull command, see Appendix > Command Line Parameters > Table 3 pull command parameters.

Example

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

Deleting Images

Description

Delete one or more images.

Usage

shell
isula rmi [OPTIONS] IMAGE [IMAGE...]

Parameters

For details about the parameters in the rmi command, see Appendix > Command Line Parameters > Table 4 rmi command parameters.

Example

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

Adding an Image Tag

Description

Add an image tag.

Usage

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

Parameters

For details about the parameters in the tag command, see Appendix > Command Line Parameters > Table 8 tag command parameters.

Example

shell
isula tag busybox:latest test:latest

Loading Images

Description

Load images from a .tar package. The .tar package must be exported by using the docker save command or must be in the same format.

Usage

shell
isula load [OPTIONS]

Parameters

For details about the parameters in the load command, see Appendix > Command Line Parameters > Table 5 load command parameters.

Example

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

Listing Images

Description

List all images in the current environment.

Usage

shell
isula images [OPTIONS]

Parameters

For details about the parameters in the images command, see Appendix > Command Line Parameters > Table 6 images command parameters.

Example

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

Inspecting Images

Description

After the configuration information of an image is returned, you can use the -f parameter to filter the information as needed.

Usage

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

Parameters

For details about the parameters in the inspect command, see Appendix > Command Line Parameters > Table 7 inspect command parameters.

Example

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

Two-Way Authentication

Description

After this function is enabled, iSulad and image repositories communicate over HTTPS. Both iSulad and image repositories verify the validity of each other.

Usage

The corresponding registry needs to support this function and iSulad needs to be configured as follows:

  1. Modify iSulad configuration (default path: /etc/isulad/daemon.json) and set use-decrypted-key to false.

  2. Place related certificates in the folder named after the registry in the /etc/isulad/certs.d directory. For details about how to generate certificates, visit the official Docker website:

  3. Run the systemctl restart isulad command to restart iSulad.

Parameters

Parameters can be configured in the /etc/isulad/daemon.json file or carried when iSulad is started.

shell
isulad --use-decrypted-key=false

Example

Set use-decrypted-key to false.

shell
$ 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
}

Place the certificate in the corresponding directory.

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

Restart iSulad.

shell
systemctl restart isulad

Run the pull command to download images from the registry:

shell
$ 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

Importing rootfs

Description

Import a .tar package that contains rootfs as an image. Generally, the .tar package is exported by running the export command or a .tar package that contains rootfs in compatible format. Currently, the .tar, .tar.gz, .tgz, .bzip, .tar.xz, and .txz formats are supported. Do not use the TAR package in other formats for import.

Usage

shell
isula import file REPOSITORY[:TAG]

After the import is successful, the printed character string is the image ID generated by the imported rootfs.

Parameters

For details about the parameters in the import command, see Appendix > Command Line Parameters > Table 9 import command parameters.

Example

shell
$ 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

Exporting rootfs

Description

Export the content of the rootfs of a container as a TAR package. The exported TAR package can be imported as an image by running the import command.

Usage

shell
isula export [OPTIONS] [ID|NAME]

Parameters

For details about the parameters in the export command, see Appendix > Command Line Parameters > Table 10 export command parameters.

Example

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

Embedded Image Management

Loading Images

Description

Load images based on the manifest files of embedded images. The value of --type must be set to embedded.

Usage

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

Parameters

For details about the parameters in the load command, see Appendix > Command Line Parameters > Table 5 load command parameters.

Example

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

Listing Images

Description

List all images in the current environment.

Usage

shell
isula images [OPTIONS]

Parameters

For details about the parameters in the images command, see Appendix > Command Line Parameters > Table 6 images command parameters.

Example

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

Inspecting Images

Description

After the configuration information of an image is returned, you can use the -f parameter to filter the information as needed.

Usage

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

Parameters

For details about the parameters in the inspect command, see Appendix > Command Line Parameters > Table 7 inspect command parameters.

Example

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

Deleting Images

Description

Delete one or more images.

Usage

shell
isula rmi [OPTIONS] IMAGE [IMAGE...]

Parameters

For details about the parameters in the rmi command, see Appendix > Command Line Parameters > Table 4 rmi command parameters.

Example

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