我有一些容器在远程VPS上的docker-compose网络中运行。我想要能够从我的本地主机访问其中一个容器中运行的数据库。例如,如果容器
app
和db
在VPS上的容器网络中,我希望可以从我的机器的localhost:5432
访问db:5432
。Kubernetes的CLI允许使用kubectl port-forward <service-name> 5432:5432
实现此目的。是否存在现有的解决方案可在现有的Unix命令和Docker API中实现此效果?我在互联网上搜索并没有找到任何可以做到这一点的CLI工具。谢谢。
编辑:我已经接受了Ali Tou的答案,但是希望看到一种不需要重新启动容器即可重新配置其端口以将其暴露到主机上的解决方案。
编辑2:我在一个相关的帖子中发现了一种聪明的使用socat在Docker网络中转发流量的方法https://dev59.com/gGIj5IYBdhLWcg3wx30x#42071577。然而,这是公开暴露端口而不是创建隧道,例如SSH解决方案。