自制sftp镜像
Dockerfile
# 使用基础镜像
FROM ubuntu:22.04
# 安装 OpenSSH 服务器和 SFTP 所需的工具
RUN apt-get update && \
apt-get install -y openssh-server && \
mkdir /var/run/sshd
# && apt-get install -y sftp
# 创建一个新的用户,以及设置密码
RUN useradd -m sftpuser && \
echo 'sftpuser:sftp123' | chpasswd && \
mkdir -p /home/sftpuser/data
# 允许密码登录
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
# 暴露 SFTP 使用的端口
EXPOSE 22
# 启动 SSH 服务
CMD ["/usr/sbin/sshd", "-D"]
构建镜像
docker build -t sftp-image:1 .
运行sftp容器
docker run -d -p 2222:22 --name sftp-container --restart=always -v /path/data:/home/sftpuser/data sftp-image:1
sftp测试
# 回车输入密码
sftp -P2222 sftpuser@192.168.1.1:data