In Ubuntu 19.10, you can install docker by installing the package
docker.io, which has
runc as dependencies. Alternatively, you can install
docker-ce-cli directly from the docker repository as explained here https://docs.docker.com/install/linux/docker-ce/ubuntu/. In this alternative approach, the dependencies
runc are replaced by a single dependency
containerd.io. The problem is that, for some weird reason,
containerd.io is not in the docker repository. So you need to install it manually as suggested in https://askubuntu.com/a/1190896/456438.
containerd.io is said (in the package itself) to be a valid replacement for
runc. The converse is not affirmed, but if you modify the packages docker-ce and replace the dependency for
containerd, it works: I followed intructions in https://fabianlee.org/2018/09/28/ubuntu-customizing-and-repacking-a-deb-file/ to change the dependency in the package (without sudo):
cd $(mktemp -d -t docker-XXX)
apt download docker-ce
ar xf docker-ce_*.deb
tar xf control.tar.xz -C DEBIAN
The first command only creates a temporary directory and cd to it. The remainder extracts 5 files from the package in the DEBIAN subdirectory. I edited the file
DEBIAN/control to change
containerd and saved the file. I continued with the instructions to reconstruct the package:
tar -C DEBIAN -cJf control.tar.xz .
ar rcs docker-ce.deb debian-binary control.tar.xz data.tar.xz
This creates a new deb file
docker-ce.deb in the temporary directory. I followed the instruction here https://docs.docker.com/install/linux/docker-ce/ubuntu/ but in
sudo apt install ... commands I replaced
./docker-ce.deb. It worked ! Tested with
docker run hello-world.