Какова лучшая практика docker + ufw под Ubuntu?

Я только что попробовал Docker. Это круто, но, похоже, не очень хорошо работает с UFW. По умолчанию Docker немного манипулирует iptables. Результат не ошибка, но не то, что я ожидал. Для более подробной информации вы можете прочитатьОпасности UFW + Докер

Моя цель - создать такую ​​систему, как

    Host (running ufw) -> docker container 1 - nginx (as a reverse proxy)
                       -> docker container 2 - node web 1
                       -> docker container 3 - node web 2
                       -> .......

Я хочу управлять входящим трафиком (например, ограничить доступ) через ufw, поэтому я не хочу, чтобы docker касался моих iptables. Вот мой тест

Среда:

недавно установленная Ubuntu 14.04 (ядро: 3.13.0-53)Докер 1.6.2Переадресация UFW включена. (Включить переадресацию UFW )--iptables=false был добавлен в демон Docker.

Первая попытка

docker run --name ghost -v /home/xxxx/ghost_content:/var/lib/ghost -d ghost
docker run --name nginx -p 80:80 -v /home/xxxx/nginx_site_enable:/etc/nginx/conf.d:ro --link ghost:ghost -d nginx

Неудачно. Первая команда в порядке, но вторая команда выдаст ошибку

Error response from daemon: Cannot start container

Вторая попытка

Тогда я нашел это:невозможно связать контейнеры с --iptables = false # 12701

После выполнения следующей команды все выглядит хорошо.

sudo iptables -N DOCKER

Однако я заметил, что не могу установить какие-либо исходящие соединения внутри контейнеров. Например:

xxxxg@ubuntu:~$ sudo docker exec -t -i nginx /bin/bash
root@b0d33f22d3f4:/# ping 74.125.21.147
PING 74.125.21.147 (74.125.21.147): 56 data bytes
^C--- 74.125.21.147 ping statistics ---
35 packets transmitted, 0 packets received, 100% packet loss
root@b0d33f22d3f4:/# 

Если я удалю--iptables=false из демона Docker, интернет-соединение контейнеров вернется к нормальному состоянию, но UFW не будет работать «должным образом» (ну ... по моему определению).

Итак, какова лучшая практика docker + ufw? Кто-нибудь может помочь?

Благодарю.

Барт.

Ответы на вопрос(0)

Ваш ответ на вопрос