Docker inside CT vz7

From OpenVZ Virtuozzo Containers Wiki
Revision as of 12:00, 22 July 2016 by Vporokhov (talk | contribs)
Jump to: navigation, search

Since Virtuozzo 7 kernel 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

To enable veth and overlay modules please run:

modprobe veth
modprobe overlay 

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

This is a temporary step, it will be dropped once overlayfs is proved to be absolutely safe to run in any vz7 Container.

Limitations

Container tuning

  • Turn on bridge feature to allow docker creating bridged network inside container:
prlctl set $veid --features bridge:on
  • Setup Container veth-based network (Container must be veth-based, not venet-based):
prlctl set $veid --device-add net --network Bridged --dhcp yes
  • 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/