Назад | Перейти на главную страницу

Временно выставить контейнер докеров

В последнее время много работаю с docker, особенно с docker-compose.
Часто у меня есть контейнер, работающий вместе с базой данных, и иногда я хочу проверить данные базы данных с помощью какого-либо внешнего инструмента на моем компьютере.
Сама база данных доступна только для других контейнеров, поэтому она не отображается напрямую, и я не могу подключиться к ней со своего компьютера.
Чтобы это сработало, мне пришлось бы закрыть его, открыть порт и запустить его снова.
Поскольку это не идеальное решение для меня, я хотел бы знать, есть ли способ временно открыть порт контейнера или развернуть какой-либо прокси без необходимости выполнять большую ручную настройку?
Идеальное решение было бы примерно таким:

docker run -p 1234:80 -e PROXY_TO=1.2.3.4:8080 proxyimage

Затем этот пример команды будет открывать созданный контейнер на порту 1234 и проксировать весь входящий трафик на порт 8080 контейнера, работающего на ip. 1.2.3.4.
Тогда я мог бы просто открыть свое приложение базы данных, подключиться к порту 1234 и получить данные 1.2.3.4:8080 это обычно было бы скрыто для меня.

Есть ли что-нибудь подобное или другое решение этой проблемы?
Я знаю, что в зависимости от используемой базы данных я мог бы просто запустить какой-нибудь веб-инструмент (например, phpmyadmin) или создать свой собственный пользовательский интерфейс администратора, но это займет довольно много времени.

Найдите IP-адрес контейнера с помощью docker inspect и использовать ssh -L установить туннель. Это позволяет безопасно подключаться к интерфейсам администратора, не размещая его в Интернете.