Install Docker on a Debian-based VPS

This howto describes how to get docker working on the older Debian version 6 (Squeeze) on a VPS which you maybe haven’t migrated to Debian 7 (Wheezy) yet since its release in May 2013. The steps below are also absolutely fine for your desktop Linux.

Docker is a software which helps you to isolate applications in containers. Basically a Docker container is a linux process with a chroot environment that a root file system is resolved to. It’s able to enumerate other processes and while not starting a discussion about its security, if it is a root process, it can still take over the machine.

Install docker and run the service

It’s not well documented but you can flawlessly install the ubuntu package.

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
echo "deb http://get.docker.io/ubuntu docker main" > /etc/apt/sources.list.d/docker.list
aptitude update
aptitude install lxc-docker

Now try to launch the docker service if it’s not yet running.

docker -d

If you get the following warning the kernel module bridge hasn’t been loaded.

2014/08/10 11:37:04 WARNING: You are running linux kernel version 3.2.17-015stab087.4, which might be unstable running docker. Please upgrade your kernel to 3.8.0.
2014/08/10 11:37:04 docker daemon: 1.1.2 d84a070; execdriver: native; graphdriver: 
[b5c0f7ad] +job serveapi(unix:///var/run/docker.sock)
[b5c0f7ad] +job initserver()
[b5c0f7ad.initserver()] Creating server
2014/08/10 11:37:04 Listening for HTTP on unix (/var/run/docker.sock)
[b5c0f7ad] +job init_networkdriver()
[b5c0f7ad.init_networkdriver()] creating new bridge for docker0
package not installed
[b5c0f7ad] -job init_networkdriver() = ERR (1)
package not installed
[b5c0f7ad] -job initserver() = ERR (1)
2014/08/10 11:37:04 package not installed

Get a working bridge

On a VPS you have most probably no chance to load the module but give it a whirl before digging into more software dependencies.

$ sudo modprobe bridge

If this shows up …

libkmod: ERROR ../libkmod/libkmod.c:505 kmod_lookup_alias_from_builtin_file: could not open builtin file '/lib/modules/3.2.17-015stab087.4/modules.builtin.bin'
FATAL: Module bridge not found.

… you don’t have the bridge module available on your system, however, you’re not required to use docker’s bridges.

Create your own bridge

You can create your own virtual network device and tell docker to use that one as the bridge by passing the device name as a parameter.

$ docker -d --bridge="docker0"

Follow the steps discussed in Create virtual network devices on a VPS except that you only need one network device.

Last setup

After docker has successfully tested on an OpenVZ-based VPS we’ll do a final configuration. Instead of launching the docker service ourselves we change the docker’s service configuration. Thus open /etc/default/docker in a text editor and change the content of the following line from

#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"  

to something looking like this:

DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4" --bridge="tap0" --iptables=false

Coming soon

In an up-coming article I’ll give you an introduction into creating docker containers. You’ll get taught how to create a new image and how to run services such as a web server in a chroot environment.

25 Comments

  1. S

    I’m getting an error when trying ‘docker run busybox echo ‘hello world’ ‘, it looks something like this: Response from daemon: cannot start container XY: operation not supported.

    I can run the container with the -net=”none” and -net=”host” switch.

    I ran the docker daemon with the -D option (debug), and it seems the error occurs in container.go at line 468 (https://github.com/docker/docker/blob/f9c345ddfae25d5512b775968fb14ed1abb00504/daemon/container.go), which is inside the networking setup. Why exactly do you use –iptables=false, and what impact will that have on running docker?

    I believe I’ve set my tap interface up correctly: I can bind netcat to it’s IP and communicate with it. However: is it normal that ifconfig shows no transmitted packets for the tap interface?

  2. fnkr

    The link “Create virtual network devices on a VPS” is broken.
    The correct link is: http://slopjong.de/2014/08/27/create-virtual-network-devices-on-a-vps/

  3. slopjong

    Thanks. It’s corrected now.

  4. @S same thing using:

    # docker run busybox echo “hello world”
    Error response from daemon: Cannot start container c5d2a3319a7caca9c54adee78b080695e9e6a7d26e9d68b01d2900f01f11a87a: fork/exec /var/lib/docker/init/dockerinit-1.3.1: operation not permitted

    I guess running Docker on an OpenVZ is impossible – only KVM and XEN for now.

  5. tn

    now docker under OpeVZ is possible (but with the one of the latest kernel version)
    https://openvz.org/Docker_inside_CT

  6. tzaphkiel

    1. I suppose you meant to use, in the config file, the ‘docker0′ bridge instead of the ‘tap0′ ? !
    2. what does –iptables=false do ? FW ?

  7. choldi

    Hello,
    I can’t get any container working with Docker on openVZ. I get these errors:
    ERRO[0667] Handler for POST /containers/{name:.*}/start returned error: Cannot start container 3211bddabce1eb5c73e8f915351c7d398b4051e50430608b32ffc24b3a80bd67: device or resource busy
    ERRO[0667] HTTP Error err=Cannot start container 3211bddabce1eb5c73e8f915351c7d398b4051e50430608b32ffc24b3a80bd67: device or resource busy statusCode=500

    Any suggestion?

  8. Wir erwarten gute Aktie dank fortgesetzt

  9. Some truly select forum posts on this web site , saved to fav. Goll

  10. Технология хранения и транспортирования непродовольственных товаров | 3.2. меховых и овчинно – шубных изделий, кожаной и резиновой обуви . 3.3 . и сроки хранения , условия хранения товаров, режим хранения товаров,

  11. Uploaded by Телеканал 24KZ Какую обувь носили 100, 500 или даже 2 тысячи лет назад? Ответ покажут на уникальной выставке в Лондоне под названием

  12. FashionTime.ru рекомендует: ресторан White Rabbit Концепция White Rabbit разрослась в целую вселенную взрослой . Женская мода Мужская мода Детская мода Обувь Сумки Каталог одежды и обуви .

  13. (Голосов: 4471 , Рейтинг: 5.31) .. Эксперт это как минимум человек со стороны, а не ваш который получает у вас зарплату. 2. Нарекания есть. Люфта

  14. Картинки- раскраски Кот в сапогах , разукрашка кот из сказки, картинки для раскраски для детей из сказки Кот в сапогах , принцесса и король,

  15. Информация о компании МОНРО в Нижнем Тагилe. МОНРО , Нижний Тагил на редактирование; Создайте сайт Одежда, обувь , ткани Октябрьский, Олекминск, Омск , Омутнинск, Орел, Оренбург, Орехово-Зуево, Орск, Острогожск, Оха, Павловск 2016 заказал у них на сайте телефон Galaxy A7 из.

  16. Выбрать лучшее предложение на Тактические ботинки в магазинах рунета.

  17. Белорусские покупательницы смогли познакомиться с обувью Tamaris и Marco Tozzi благодаря компании «Европейская обувь », которая

  18. на обуви . Clarks Известный в Англии и во всем мире обувной магазин . L.K.Bennett Изысканная женская одежда, обувь и аксессуары . Deichmann

  19. Купить Сумка д/ обуви Kite в Чернигове – цены, товары и услуги компании Киндермир интернет магазин – купить школьные рюкзаки и канцтовары.

  20. Рекомендации месяца: кроссовки адидас 2012 по скидке , греческие сандалии мужские в спб , лоуферы от лакост мужские , женские туфли белые ,

  21. Мокасины мужские , мужские мокасины , слипоны мужские , слиперы мужские , сникерсы Мужские мокасины черные. Легкие мужские тканевые макасы.

  22. Найдено 1 487 результатов по запросу « калуга свадебные салоны» на сайте Свадебные туфли на низком каблуке и их роль в образе невесты.

  23. Однако обзавестись маленьким черным платьем – лишь полдела. носом черного или бежевого цвета, миниатюрный атласный клатч, Сегодняшний выбор туфель к вечернему черному платью безграничен.

  24. Обувь для танцев . Особенности модели 706: Туфли восточные Perm XM. Модель 706. Цена: договорная. Особенности модели 717: Татарские калоши

  25. Широкий ассортимент женской одежды, обуви и сумок оптом в Минске с доставкой Купить модные женские сумки оптом, сумочки и планшеты оптом,

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>