Files
kata-containers/install/docker/opensuse-docker-install.md
Marco Vedovati 72b296d319 install: improve Docker installation for openSUSE
Editing systemd unit files to customize Docker for Kata may generate conflicts
with what's specified in /etc/sysconfig/docker, so use that file directly.

Also, libcgroup1 dependency is wrong for newer distros, and should be
pulled automatically for older ones.

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-05-28 10:04:21 +02:00

2.5 KiB

Install Docker for Kata Containers on openSUSE

Note:

  1. Install the latest version of Docker with the following commands:

    Notes:

    $ sudo zypper -n install docker
    

    For more information on installing Docker please refer to the Docker Guide.

  2. Configure the Docker daemon to use Kata Containers by default, with one of the following methods:

    1. Specify the runtime options in /etc/sysconfig/docker:

      $ 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
      
    2. Docker daemon.json

      Add the following definitions to /etc/docker/daemon.json:

      {
        "default-runtime": "kata-runtime",
        "runtimes": {
          "kata-runtime": {
            "path": "/usr/bin/kata-runtime"
          }
        }
      }
      
  3. Restart the Docker systemd service with the following commands:

    $ sudo systemctl daemon-reload
    $ sudo systemctl restart docker
    
  4. 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.