Docker EXPOSE порт только для хоста
Докер способен отображать порт только для хоста, а не для внешнего.
Мне нужно поставить докер, работающий с базой данных mongo, и я хотел, чтобы он был доступен только с хоста, но мне нужно связать хост-порт 27017.
Возможно ли это, или единственный возможный способ - изменить определения брандмауэра?
Ответы
Ответ 1
Конечно, просто привяжите его к localhost
, например:
docker run -p 127.0.0.1:27017:27017
Также: ваш хост может также разговаривать с каждым контейнером, как правило, по его IP-адресу. Используйте docker inspect $ID
, чтобы получить json-дамп (помимо других вещей), содержащий сетевой IP-адрес.