mirror of
https://github.com/aljazceru/kata-containers.git
synced 2026-01-03 22:44:24 +01:00
Docker 18.09 removed devicemapper support but did not provide an alternative. This can cause problems for users so update the install docs to install Docker at version 18.06 (the last version that supports devicemapper). This is a temporary solution until either docker provide an alternative or we find a way to work around the Docker feature being removed. Note the extra logic required for Fedora since 18.06 is not available for that release. Fixes #373. Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
3.1 KiB
3.1 KiB
Install Docker for Kata Containers on Debian
Note:
- This guide assumes you have already installed the Kata Containers packages.
- this guide allows for installation with
systemdorsysVinitinit systems
-
Install Docker with the following commands:
Notes:
- This step is only required if Docker is not installed on the system.
- Newer versions of Docker have removed devicemapper support so the commands below install the latest version which includes devicemapper support.
- To remove the lock on the docker package to allow it to be updated:
$ sudo apt-mark unhold docker-ce
$ sudo apt-get -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common $ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add - $ sudo add-apt-repository "deb https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") $(lsb_release -cs) stable" $ sudo apt-get update $ sudo -E apt-get -y install --allow-downgrades docker-ce='18.06.2~ce~3-0~debian' $ sudo apt-mark hold docker-ceFor 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:
a. sysVinit
- with sysVinit, docker config is stored in `/etc/default/docker`, edit the options similar to the following:
```
$ sudo sh -c "echo '# specify docker runtime for kata-containers
DOCKER_OPTS=\"-D --add-runtime kata-runtime=/usr/bin/kata-runtime --default-runtime=kata-runtime\"' >> /etc/default/docker"
```
b. systemd
```bash
$ sudo mkdir -p /etc/systemd/system/docker.service.d/
$ cat <<EOF | sudo tee /etc/systemd/system/docker.service.d/kata-containers.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -D --add-runtime kata-runtime=/usr/bin/kata-runtime --default-runtime=kata-runtime
EOF
```
c. systemd Docker daemon.json
Add the following definitions to `/etc/docker/daemon.json`:
```bash
$ sudo sh -c "echo '{
\"default-runtime\": \"kata-runtime\",
\"runtimes\": {
\"kata-runtime\": {
\"path\": \"/usr/bin/kata-runtime\"
}
}
}' >> /etc/docker/daemon.json"
```
-
Restart the Docker systemd service with one of the following (depending on init choice):
a. sysVinit
$ sudo /etc/init.d/docker stop $ sudo /etc/init.d/docker startto watch for errors:
tail -f /var/log/docker.logb. systemd
$ sudo systemctl daemon-reload $ sudo systemctl restart docker -
Run Kata Containers
You are now ready to run Kata Containers:
$ sudo docker run busybox uname -aThe previous command shows details of the kernel version running inside the container, which is different to the host kernel version.