我正在尝试连接到一个远程mongo db实例,该实例限制了对其本地网络的访问。因此,我创建了一个ssh隧道,它允许我连接:
ssh-L[port]:本地主机:[hostport][username]@[remote-ip]
然而,当我想从docker容器连接到同一个mongo db服务时,连接超时。
我试图像这样指定一个绑定地址
ssh-L 172.17.0.1:[端口]:本地主机:[主机端口][用户名]@[remote ip]
并从docker容器172.17.0.1:[port]连接到远程mongo-db,但没有成功。我犯了什么错?
注意:我正在寻找一个解决方案,同时适用于Linux和Mac。
我建议这样做:
version: "3"
services:
sshproxy:
image: docker.io/alpine:latest
restart: on-failure
volumes:
- ./id_rsa:/data/id_rsa
command:
- sh
- -c
- |
apk add --update openssh
chmod 700 /data
exec ssh -N -o StrictHostkeyChecking=no -i /data/id_rsa -g -L 3128:localhost:3128 alice@remotehost.example.com
client:
image: docker.io/alpine:latest
command:
- sh
- -c
- |
apk add --update curl
while :; do
curl -x http://sshproxy:3128 http://worldtimeapi.org/api/timezone/America/New_York
sleep 5
done
在这里,我设置了一个ssh隧道,提供对远程http代理的访问,然后在另一个容器中,我通过ssh隧道访问该代理。这正是你想要用mongodb做的。
在真实环境中,您可能会使用预构建的图像,而不是像我在本例中所做的那样动态安装软件包。
问题内容: 使用ubuntu tusty,在远程计算机上运行了一项服务,我可以通过SSH隧道通过端口转发访问该服务。 我正在运行一个Docker容器。我需要通过主机的隧道从容器内部访问该远程服务。 我尝试使用进行从容器到主机的隧道传输,然后从容器内部通过访问服务失败。为了检查端口映射是否打开,我尝试了 在此之后,parag。2,但即使 在集装箱处也没有察觉的交流 我还尝试通过映射端口,但是这报告绑
我有一个码头集装箱在运行。我需要通过主机的隧道从容器内访问远程服务。 我尝试用从容器中隧道到主机,然后通过从容器中访问服务失败。为了检查端口映射是否打开,我尝试 接下来,帕拉格。2但是,即使在容器上执行也没有感觉到通信 2-测试连接是否正常的快速方法是什么?最好是通过巴什。 谢了。
问题内容: 我正在boot2docker 1.3.1下运行。 我有一个Docker容器通过运行Web服务器。 如果我连接到该容器,则可以使用浏览该网站,以便知道服务器正在运行。 我用以下容器运行容器: 它具有以下详细信息: 我以为可以访问,从托管人访问该网站。 这是行不通的。我只是在Chrome中看到“正在连接…”,却一无所获。 我究竟做错了什么? 问题答案: 好吧,愚蠢的我,我在boot2doc
在页面存储Python Flask微服务中,我尝试使用主机名master-db访问MySQL数据库,但该名称无法解析。
我希望使用jmx或JSTATD通过ssh隧道(到EC2机器)使用visualvm应用程序。我该怎么做?下面是已经尝试(和失败)的列表:(顺便说一句:如果visual vm不合适,如何在远程计算机上查找内存泄漏?) 我在EC2机器上设置了jstatd服务器(应用程序已经在上面运行),然后在VisualVM中设置了一个将本地端口3333映射到远程端口1099的隧道,我试图在端口3333上使用jstat
问题内容: 我的目的是连接到位于防火墙后面的服务器(主机)。我可以通过连接到网络中的另一台服务器(隧道)然后通过SSH到该服务器来访问此服务器。但是,我无法通过JSch实现相同的方案。 我无法为此编写以下代码。如果我在这里做任何愚蠢的事情,请告诉我。 上面的代码在行中给出了以下异常。 问题答案: jsch上的代理设置允许您连接到远程端上 正在运行的 代理服务器。一个在远程端将 不 被视为一个代理。