33 lines
877 B
Docker
33 lines
877 B
Docker
# 使用Ubuntu作为基础镜像
|
|
FROM ubuntu
|
|
LABEL maintainer="ZK <zkalgclub@163.com>"
|
|
|
|
# 定义环境变量
|
|
ENV MYPATH /app
|
|
ENV REMOTE_PORT 22
|
|
ENV LOCAL_LISTEN_PORT 8080
|
|
ENV LOCAL_LISTEN_HOST localhost
|
|
ENV REMOTE_LISTEN_PORT 80
|
|
ENV REMOTE_USER root
|
|
ENV REMOTE_HOST example.com
|
|
|
|
# 安装必要的软件包
|
|
RUN apt-get update && apt-get install -y \
|
|
vim \
|
|
net-tools \
|
|
iputils-ping \
|
|
openssh-client \
|
|
openssh-server && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR $MYPATH
|
|
|
|
# 生成SSH密钥对
|
|
RUN ssh-keygen -t rsa -b 4096 -N "" -f /root/.ssh/id_rsa
|
|
|
|
# 创建一个脚本来运行SSH命令
|
|
RUN echo "#!/bin/bash\n\
|
|
ssh -C -f -N -g -p \$REMOTE_PORT -L \$LOCAL_LISTEN_PORT:\$LOCAL_LISTEN_HOST:\$REMOTE_LISTEN_PORT \$REMOTE_USER@\$REMOTE_HOST \n\
|
|
while true; do sleep 10; done;" > /start.sh && chmod +x /start.sh
|
|
|
|
CMD ["/start.sh"] |