Note:
- This guide assumes you have already installed the Kata Containers packages.
-
Install the latest version of Docker with the following commands:
Notes:
- This step is only required if Docker is not installed on the system.
- Docker version 18.09 removed devicemapper support. If you wish to use a block based backend, see the options listed on kata-containers/documentation#407.
$ sudo zypper -n install docker
For more information on installing Docker please refer to the Docker Guide.
-
Configure Docker to use Kata Containers by default with ONE of the following methods:
-
Specify the runtime options in
/etc/sysconfig/docker
(this is the default and is applied automatically if you select the automatic installation option)$ DOCKER_SYSCONFIG=/etc/sysconfig/docker # Add kata-runtime to the list of available runtimes, if not already listed $ grep -qE "^ *DOCKER_OPTS=.+--add-runtime[= ] *kata-runtime" $DOCKER_SYSCONFIG || sudo -E sed -i -E "s|^( *DOCKER_OPTS=.+)\" *$|\1 --add-runtime kata-runtime=/usr/bin/kata-runtime\"|g" $DOCKER_SYSCONFIG # If a current default runtime is specified, overwrite it with kata-runtime $ sudo -E sed -i -E "s|^( *DOCKER_OPTS=.+--default-runtime[= ] *)[^ \"]+(.*\"$)|\1kata-runtime\2|g" $DOCKER_SYSCONFIG # Add kata-runtime as default runtime, if no default runtime is specified $ grep -qE "^ *DOCKER_OPTS=.+--default-runtime" $DOCKER_SYSCONFIG || sudo -E sed -i -E "s|^( *DOCKER_OPTS=.+)(\"$)|\1 --default-runtime=kata-runtime\2|g" $DOCKER_SYSCONFIG
-
Docker
daemon.json
Create docker configuration folder.
$ sudo mkdir -p /etc/docker
Add the following definitions to
/etc/docker/daemon.json
:{ "default-runtime": "kata-runtime", "runtimes": { "kata-runtime": { "path": "/usr/bin/kata-runtime" } } }
-
-
Restart the Docker systemd service with the following commands:
$ sudo systemctl daemon-reload $ sudo systemctl restart docker
-
Run Kata Containers
You are now ready to run Kata Containers:
$ sudo docker run busybox uname -a
The previous command shows details of the kernel version running inside the container, which is different to the host kernel version.