docker搭建sftp服务器

docker蛮简单的一个应用,在节点上搭建的docker sftp服务器是一个隔离的环境,不需要sftp到远程节点,也避免了修改远程服务器文件的危险。

注:以下操作都对应于ubuntu 版本。

首先安装docker。

  • docker只支持64-bit kernel,最低3.10,可使用uname -r查看。
  • 确定是否安装了wget which wget,如果没有安装,使用sudo apt-get update sudo apt-get install wget进行安装。
  • 获取包 wget -qO- https://get.docker.com/ | sh
  • sudo docker info可以确保docker是否成功安装

拉取docker sftp镜像并构建容器

  • 使用命令sudo docker pull luzifer/sftp-share
  • 并构建docker run -d -p 2022:22 -e USER=myuser -e PASS=myverysecretpassword luzifer/sftp-share

至此,我们在同一局域网内就可以使用sftp -P 2022 myuser@myverysecretpassword进行sftp文件传输了。

更新:
建议使用 atmoz/sftp这个镜像
https://github.com/atmoz/sftp
docker run \
-v /host/share:/home/foo/share \
-p 2222:22 -d atmoz/sftp \
foo:123:1001

若想put,get操作有权限,对应挂载的磁盘地址(如上即为/host/share)需要对其他用户有写权限。

Docker可以用来搭建SFTP(Secure File Transfer Protocol)服务器,这样你可以通过安全的文件传输协议在容器内部存储和访问文件。以下是使用Docker搭建SFTP服务器的一般步骤: 1. **选择SFTP服务器软件**: 使用一个支持SFTPDocker镜像,如`proftpd/proftpd`,它是一个开源的FTP服务器,也可以用于SFTP。 2. **拉取镜像**: 在Docker命令行中运行: ``` docker pull proftpd/proftpd ``` 3. **运行容器**: 创建一个Dockerfile,指定proftpd镜像,并配置必要的环境变量和端口映射,例如: ```Dockerfile FROM proftpd/proftpd:latest RUN apt-get update && apt-get install -y sasl2-bin COPY sftp.conf /etc/proftpd/conf.d/ CMD ["proftpd", "-f", "/etc/proftpd/proftpd.conf"] ``` 这里假设你已经有一个`sftp.conf`配置文件,其中包含了SFTP服务器的设置。 4. **启动和运行容器**: ``` docker build -t sftp-server . docker run -d --name sftp-server -p 2222:21 -v /path/to/your/data:/data sftp-server ``` `-d`表示后台运行,`-p`将主机的2222端口映射到容器的21端口(FTP默认端口),`-v`将宿主机的目录挂载到容器内的/data路径,这样用户就可以访问这个目录。 5. **配置SFTP用户**: 需要在`sftp.conf`或外部文件中创建用户并分配权限。 6. **验证连接**: 使用SSH客户端或者SFTP客户端(如FileZilla)连接到`localhost:2222`或你的服务器IP地址,使用在Docker运行时创建的用户名和密码尝试登录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值