暂时暴露docker容器

暂时暴露docker容器

最近我一直在使用 docker,尤其是 docker-compose。
我经常会有一些容器和数据库一起运行,有时我想用我机器上的一些外部工具检查数据库的数据。
数据库本身只对其他容器可用,所以它不会直接暴露,我无法从我的机器连接到它。
为了使它工作,我必须关闭它,暴露端口并重新启动它。
由于这对我来说不是一个理想的解决方案,我想知道是否有一种方法可以暂时暴露容器的端口或启动某种代理,而无需进行大量的手动配置?
理想的解决方案应该是这样的:

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

然后,此示例命令将在端口 1234 上公开创建的容器,并将所有传入流量代理到在 ip 上运行的容器的端口 8080。1.2.3.4然后,我只需打开我的数据库应用程序,连接到端口 1234 并获取通常会对我隐藏的
数据。1.2.3.4:8080

有没有类似的东西或其他解决方案可以解决这个问题?
我知道根据所使用的数据库,我可以启动一些基于 Web 的工具(如 phpmyadmin)或创建自己的管理 UI,但这需要相当长的时间。

答案1

查找容器的 IPdocker inspect并使用ssh -L它建立隧道。这样您就可以安全地连接到管理界面,而无需将其放在互联网上。

相关内容