It looks like I can bind my exposed container ports to localhost only.
docker run -d -p 127.0.0.1:9009:9009 someserver
У меня есть докер-контейнер, работающий на хосте с некоторым портом, сопоставленным с портом на хосте.
docker run -d -p 9009:9009 someserver
Я хочу, чтобы эта машина была отключена из Интернета, за исключением 80, 443 и 22.
Но я все еще хочу, чтобы процессы внутри хоста могли подключаться к 9009.
Я был немного шокирован, обнаружив, что докер, кажется, полностью обходит любые правила брандмауэра для отбрасывания пакетов.
Я попытался использовать Centos 7 с firewalld и iptables, чтобы заблокировать все, кроме 80, 443 и 22. Каким-то образом я все же смог получить доступ к контейнеру сопоставленного порта докера (порт 9009) снаружи хоста! Некоторые решения, которые я нашел, похоже, портят маршрутизацию полностью для docker - либо делают контейнеры Docker недоступными для доступа в Интернет, либо что-то еще.
Возможен ли мой сценарий?
Похоже, что это задает тот же вопрос: https://security.stackexchange.com/questions/66136/docker-port-forwarding-exposure
It looks like I can bind my exposed container ports to localhost only.
docker run -d -p 127.0.0.1:9009:9009 someserver