coder Asked:2020-07-08 18:40:42 +0000 UTC2020-07-08 18:40:42 +0000 UTC 2020-07-08 18:40:42 +0000 UTC 如何通过ssh隧道从容器连接到主机 772 鉴于: 安装了 Postgres 的主机只能通过 ssh 隧道访问。 托管在 docker 容器中的应用程序(dotnet 核心)。 应用程序如何从容器连接到数据库?我需要在容器内设置 ssh 隧道还是有其他方法? linux 1 个回答 Voted Best Answer etki 2020-07-09T10:35:03Z2020-07-09T10:35:03Z 应用程序如何从容器连接到数据库? 默认情况下,容器可以访问外部网络,所以只要你的 postgres 没有挂在 127.0.0.1 上并且网络对容器可用 - 就像往常一样只是通过 IP 地址。否则,如果您使用的是 Linux,最简单的方法是将容器内的 unix 套接字作为普通文件传递。 我需要在容器内设置 ssh 隧道还是有其他方法? 虽然在某些设置中可能需要额外的网络操作(例如隧道转发),但我强烈建议尽可能长时间避免它们 - 只是因为它们添加了另一个必须有人观察的点并且“基地已经脱落”与此设置不仅可以表示“postgres crashed”,还可以表示“tunnel broke”,这会对恢复时间产生负面影响。 暂时把base放到容器里傻了,备份,日志,各种设置,都像痔疮 一切都和主机上的一样。理论上,puff FS可能有问题,其他一切应该功能完全一样。 一般来说,容器中数据库的速度如何 如果您使用的是 Linux - 没有容器,速度绝对相同。容器并不真正存在,“容器”是在 Linux 内核级别隔离的完全正常的进程。
默认情况下,容器可以访问外部网络,所以只要你的 postgres 没有挂在 127.0.0.1 上并且网络对容器可用 - 就像往常一样只是通过 IP 地址。否则,如果您使用的是 Linux,最简单的方法是将容器内的 unix 套接字作为普通文件传递。
虽然在某些设置中可能需要额外的网络操作(例如隧道转发),但我强烈建议尽可能长时间避免它们 - 只是因为它们添加了另一个必须有人观察的点并且“基地已经脱落”与此设置不仅可以表示“postgres crashed”,还可以表示“tunnel broke”,这会对恢复时间产生负面影响。
一切都和主机上的一样。理论上,puff FS可能有问题,其他一切应该功能完全一样。
如果您使用的是 Linux - 没有容器,速度绝对相同。容器并不真正存在,“容器”是在 Linux 内核级别隔离的完全正常的进程。