Specifying Rootfs to Create a Container

Function Description

Different from a common container that needs to be started by specifying a container image, a system container is started by specifying a local root file system (rootfs) using the --external-rootfs parameter. The rootfs contains the operating system environment on which the container depends during running.

Parameter Description

Command

Parameter

Value Description

isula create/run

--external-rootfs

  • Variable of the string type.
  • Absolute path in the root file system of the container, that is, the path of the rootfs.

Constraints

  • The rootfs directory specified using the --external-rootfs parameter must be an absolute path.
  • The rootfs directory specified using the --external-rootfs parameter must be a complete OS environment including systemd package. Otherwise, the container fails to be started.
  • When a container is deleted, the rootfs directory specified using --external-rootfs is not deleted.
  • Containers based on an ARM rootfs cannot run in the x86 environment. Containers based on an x86 rootfs cannot run in the ARM environment.
  • You are advised not to start multiple container instances in the same rootfs. That is, one rootfs is used by only one container instance that is in the lifecycle.

Example

Assuming the local rootfs path is /root/myrootfs, run the following command to start a system container:

shell
# isula run  -tid --system-container --external-rootfs /root/myrootfs none init

NOTE

The rootfs is a user-defined file system. Prepare it by yourself. For example, a rootfs is generated after the TAR package of a container image is decompressed.