Since Virtuozzo 7 kernel vzkernel-3.10.0-327.18.2.vz7.14.7 it is possible to run Docker inside containers. This article describes how.
This page is applicable for Virtuozzo 7 (for OpenVZ 6 see here).
Prerequisites
- Kernel 3.10.0-327.18.2.vz7.14.7 or later version
- Kernel modules veth and overlay loaded on host
Note: if you use kernel >= 3.10.0-327.18.2.vz7.14.25, you need to allow using "overlayfs" inside a Virtuozzo Container:
echo 1 > /proc/sys/fs/experimental_fs_enable
Container tuning
- Turn on bridge feature to allow docker creating bridged network:
vzctl set $veid --features bridge:on --save
- Setup Container veth-based network (Container must be veth-based, not venet-based):
vzctl set $veid --netif_add eth0 --save
- Allow all iptables modules to be used in containers:
vzctl set $veid --netfilter full --save
Limitations
- Only overlay and vfs Docker graph drivers are currently supported
- Checkpointing and live migration of a container with Docker containers inside is not supported yet (to be done)