This repository was archived by the owner on May 12, 2021. It is now read-only.
- Notifications
You must be signed in to change notification settings - Fork369
This repository was archived by the owner on May 12, 2021. It is now read-only.
Kata 2.0.0 doesn't play well with Docker #3038
Closed
Description
The combination of Kata 1.12.0-rc0 with Docker 19.03.13 on Ubuntu 20.10 works well.
Today, I removed this old Kata + Docker setup to try outKata Containers 2.0.0
on the same Ubuntu 20.10.
I used the following documentation to setupKata Containers 2.0.0
:
https://github.com/kata-containers/packaging/blob/master/snap/README.md#configure-kata-containers
$ docker --versionDocker version 19.03.13, build 4484c46$ cat /etc/docker/daemon.json{ "default-runtime": "runc", "runtimes": { "kata-fc": { "path": "/snap/kata-containers/current/usr/bin/kata-runtime" } }, "storage-driver": "devicemapper"}
Docker says thatkata-fc
is available.
$ docker info --format '{{json .Runtimes}}' {"kata-fc":{"path":"/snap/kata-containers/current/usr/bin/kata-runtime"},"runc":{"path":"runc"}}
However, the problems start when trying to run a container.
$ sudo docker run --rm -it --runtime=kata-fc --name=oh-sweet alpine shdocker: Error response from daemon: OCI runtime create failed: Invalid command "create": unknown.
Problem: The container doesn't launch.
The containers launch just fine if I omit the --runtime=kata-fc
parameter. So Docker + runC are working fine as usual.
Debugging this a bit usingsudo execsnoop-perf
:
504560 504007 docker run --rm -it --runtime=kata-fc --name=oh-sweet alpine sh504576 504575 /usr/bin/unshare -m /usr/bin/snap auto-import --mount=/dev/dm-4504582 504575 /sbin/dmsetup udevflags 4229307504584 504575 /sbin/dmsetup udevcomplete 4229307504594 1129 xfs_info /mnt/data/docker/devicemapper/mnt/ec5a3d87ea554752254b2bff0a3cac8c7557615dddc9dfd953a5c89cd943bbc2-init504597 504596 losetup -O NAME -j /mnt/data/docker/devicemapper/mnt/ec5a3d87ea554752254b2bff0a3cac8c7557615dddc9dfd953a5c89cd943bbc2-init504598 504596 tail -n 1504599 504594 findmnt -t xfs -f -n -o TARGET /mnt/data/docker/devicemapper/mnt/ec5a3d87ea554752254b2bff0a3cac8c7557615dddc9dfd953a5c89cd943bbc2-init504600 504594 xfs_db -p xfs_info -c info /mnt/data/docker/devicemapper/mnt/ec5a3d87ea554752254b2bff0a3cac8c7557615dddc9dfd953a5c89cd943bbc2-init504601 504575 /sbin/dmsetup udevcomplete 6333861504603 504574 /usr/bin/unshare -m /usr/bin/snap auto-import --mount=/dev/dm-4504609 504575 /sbin/dmsetup udevflags 4208471504610 504575 /sbin/dmsetup udevcomplete 4208471504618 504575 /sbin/dmsetup udevcomplete 6320314504620 504574 /usr/bin/unshare -m /usr/bin/snap auto-import --mount=/dev/dm-4504626 504575 /sbin/dmsetup udevflags 4215309504627 504575 /sbin/dmsetup udevcomplete 4215309504635 504574 /lib/udev/bridge-network-interface504636 504574 /lib/udev/ifupdown-hotplug504638 504637 /sbin/ifquery --allow hotplug -l veth1e15df3504640 504575 /lib/udev/bridge-network-interface504641 504639 /sbin/ifquery --allow auto -l veth1e15df3504642 504575 /lib/udev/ifupdown-hotplug504643 504574 /lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/veth1e15df3 --prefix=/net/ipv4/neigh/veth1e15df3 --prefix=/net/ipv6/conf/veth1e15df3 --prefix=/net/ipv6/neigh/veth1e15df3504645 504644 /sbin/ifquery --allow hotplug -l veth64386b5504647 504646 /sbin/ifquery --allow auto -l veth64386b5504648 504575 /lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/veth64386b5 --prefix=/net/ipv4/neigh/veth64386b5 --prefix=/net/ipv6/conf/veth64386b5 --prefix=/net/ipv6/neigh/veth64386b5504650 1129 xfs_info /mnt/data/docker/devicemapper/mnt/ec5a3d87ea554752254b2bff0a3cac8c7557615dddc9dfd953a5c89cd943bbc2504653 504652 losetup -O NAME -j /mnt/data/docker/devicemapper/mnt/ec5a3d87ea554752254b2bff0a3cac8c7557615dddc9dfd953a5c89cd943bbc2504654 504652 tail -n 1504655 504650 findmnt -t xfs -f -n -o TARGET /mnt/data/docker/devicemapper/mnt/ec5a3d87ea554752254b2bff0a3cac8c7557615dddc9dfd953a5c89cd943bbc2504656 504650 xfs_spaceman -p xfs_info -c info /mnt/data/docker/devicemapper/mnt/ec5a3d87ea554752254b2bff0a3cac8c7557615dddc9dfd953a5c89cd943bbc2504657 483768 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/6e83624d705610d0acbc86d46b73a91feb560015307b81bc1f1006a25b26046b -address /run/containerd/containerd.sock -containerd-binary /usr/bin/containerd [...]504665 504663 /snap/kata-containers/current/usr/bin/kata-runtime --root /var/run/docker/runtime-kata-fc/moby --log /run/containerd/io.containerd.runtime.v1.linux/moby/6e83624d705610d0acbc86d46b73a91feb560015307b81bc1f1006a25b26046b/log.json --log-format json create --bundle [...]504674 504575 /lib/udev/ifupdown-hotplug504675 504575 /lib/udev/ifupdown-hotplug
Last two lines (full version):
509498 483541 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/ca9b46c7f2a0cec81d00ae9e20bce2a5f411090ade19baaa0a668b4a79fa48fc -address /run/containerd/containerd.sock -containerd-binary /usr/bin/containerd -runtime-root /var/run/docker/runtime-kata-fc509507 509502 /snap/kata-containers/current/usr/bin/kata-runtime --root /var/run/docker/runtime-kata-fc/moby --log /run/containerd/io.containerd.runtime.v1.linux/moby/ca9b46c7f2a0cec81d00ae9e20bce2a5f411090ade19baaa0a668b4a79fa48fc/log.json --log-format json create --bundle /run/containerd/io.containerd.runtime.v1.linux/moby/ca9b46c7f2a0cec81d00ae9e20bce2a5f411090ade19baaa0a668b4a79fa48fc --pid-file /run/containerd/io.containerd.runtime.v1.linux/moby/ca9b46c7f2a0cec81d00ae9e20bce2a5f411090ade19baaa0a668b4a79fa48fc/init.pid --console-socket /tmp/pty431286728/pty.sock ca9b46c7f2a0cec81d00ae9e20bce2a5f411090ade19baaa0a668b4a79fa48fc
I will be around to help with debugging this. Thank you!