docker通过dockerfile安装sftp教程。

自制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

参考:https://blog.csdn.net/tiansyun/article/details/131745934

相关推荐
工具罗某人7 分钟前
docker快速部署ES
elasticsearch·docker·jenkins
ruxshui10 分钟前
# Linux diff命令使用
linux·运维·服务器
Sheffield10 分钟前
为什么大家都用iptables,不愿碰原生firewalld?
linux·运维·安全
何中应18 分钟前
Jenkins构建完,jar包启动不起来?
linux·运维·jenkins
柏木乃一19 分钟前
Linux进程信号(1):信号概述,信号产生part 1
linux·运维·服务器·c++·信号·signal
春日见26 分钟前
如何查看我一共commit了多少个,是哪几个,如何回退到某一个版本
vscode·算法·docker·容器·自动驾驶
暴力求解27 分钟前
Linux---进程(一):初识进程
linux·运维·服务器
ubuntuMeta36 分钟前
睡前讲一段docker编译镜像的故事
后端·docker·容器
无级程序员39 分钟前
k8s 1.35 + containerd v2.2 配置http私库并配置登录信息
http·容器·kubernetes
香蕉你个不拿拿^40 分钟前
Linux中make和makefile基本使用
linux·运维·服务器