【发布时间】:2021-09-16 14:21:52
【问题描述】:
我正在尝试从 Docker 容器内部建立 SSH 隧道连接。
我创建了一个允许连接的简短 shh-tunnel.sh 脚本:
ssh-tunnel.sh
ssh -4 -q -f -T -M -N -L 127.0.0.1:5433:credentials:more_credentials USER@HOST
然后我从 .Dockerfile 内部运行它,如下所示:
FROM ubuntu:20.04
RUN apt-get update && apt-get install -y -qq python3 python3-pip openssh-client
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get install -y postgresql postgresql-contrib
COPY ssh-tunnel.sh .
(other things ...)
RUN chmod u+x ./ssh-tunnel.sh
CMD ./ssh-tunnel.sh
当我运行 docker build 时,一切看起来都很好。 我的问题是......当我运行 docker run 时如何保持连接建立?
【问题讨论】:
-
没有看到 ssh-tunnel 脚本很难看到发生了什么,所以如果可以的话,请分享。你没有说当你运行容器时实际发生了什么,但我猜你已经尝试过这个并且它退出了。如果您不介意浪费几个处理器周期,可以在脚本末尾添加
top。 -
嗨@SoftwareEngineer,谢谢。现在我更新了问题
标签: docker ssh-tunnel docker-build docker-run