Since Virtuozzo 7 kernel 3.10.0-327.18.2.vz7.14.7 it is possible to run Docker inside containers.
Please be aware that this feature is experimental and is not supported in production! We plan to make it production in the upcoming updates.
This page is applicable for Virtuozzo 7 (for Virtuozzo 6 see here).
Contents
Prerequisites
- Kernel 3.10.0-327.18.2.vz7.14.7 or later version
- Kernel modules veth and overlay loaded on host
To enable veth and overlay modules please run:
modprobe veth modprobe overlay
Note: if you use 3.10.0-327.18.2.vz7.14.25 <= kernel <= 3.10.0-327.28.2.vz7.17.5, you need to allow using "overlayfs" inside a Virtuozzo Container:
echo 1 > /proc/sys/fs/experimental_fs_enable
This was a temporary step, if you use kernel >= 3.10.0-327.28.2.vz7.17.6, overlayfs can be used inside a Container by default.
Limitations
- Only overlay and vfs Docker graph drivers are currently supported. Recommended driver is overlay. To enable overlayfs Storage Driver for docker engine inside CT please read here https://docs.docker.com/engine/userguide/storagedriver/selectadriver/
- Checkpointing and live migration of a container with Docker containers inside is not supported yet (to be done)
Container tuning
- Turn on bridge feature to allow docker creating bridged network inside container:
prlctl set $veid --features bridge:on
- Allow all iptables modules to be used in containers:
prlctl set $veid --netfilter=full
Docker install
To install docker inside container please use Docker Installation Guide for your OS https://docs.docker.com/v1.11/engine/installation/