2015-10-09 3 views
1

Я использую Docker и хотел бы запустить контейнер, который использует данный публичный порт. Этот порт должен быть защищен, пользователи должны быть аутентифицированы с одним именем пользователя/паролем. У Docker есть некоторые функции для этой цели?Защита паролем паролем для контейнера

+1

Возможно, вы можете добавить порты в свой контейнер? https://en.wikipedia.org/wiki/Port_knocking – user2915097

+0

Рассматривали ли вы защиту порта с использованием сертификатов SSL и клиентов? Лучший и более стандартный подход к обеспечению докеров. Смотрите: https://docs.docker.com/articles/https/ –

ответ

0

Вы можете запустить другой контейнер (как Nginx или Apache один), который будет отвечать за:

  • аутентификации
  • реверс-прокси первого контейнерного порта

Таким образом, первый порт контейнера (EXPOSE в файле Docker) не обязательно должен быть сопоставлен с хостом: к нему напрямую обращается второй контейнер, запускается с помощью --link option

+0

Есть ли парные контейнеры для тестирования? Я бы хотел попробовать, потому что этот метод немного неясен для меня. –

+1

@ mum007 Я выполняю аутентификацию в своих контейнерах apache-ldap: https://github.com/VonC/b2d/blob/f9890cb6e1ee14842b8be2dd66a754550db793a9/apache/env.conf#L109-L119, на основе ссылки на контейнер ldap (https : //github.com/VonC/b2d/blob/f9890cb6e1ee14842b8be2dd66a754550db793a9/apache/run#L61-L65), который я запускаю сначала: https://github.com/VonC/b2d/blob/f9890cb6e1ee14842b8be2dd66a754550db793a9/apache/run#L61- L65 – VonC