docker安装sftp并实现文件上传

 更新时间:2025年07月30日 09:05:12   作者:落墨微澜  
本文详细介绍使用Docker快速部署SFTP服务,包括查询镜像、启动服务、多用户配置及宿主机目录映射等步骤,具有一定的参考价值,感兴趣的可以了解一下

1、查询可用的docker镜像

docker search sftp

一如既往选用官方自带的心情会很美!ლ(′◉❥◉`ლ)

2、拉取并启动服务

docker run --restart=always --name mysftp -p 2294:22 -d atmoz/sftp admin:admin:::upload

做个简单的解释:

  • –restart=always 总是重启
  • –name mysftp  容器名称
  • admin:admin:::upload  其中第一个admin为用户名,admin为密码,upload为上传的文件会保存到容器里面的/home/admin/upload目录里面
  • -p 2294:22  将宿主机的2294端口映射到容器的22端口,这样方位宿主机的2294端口则会转发到容器的22端口上
  • -d atmoz/sftp  使用dockup hub中的atmoz/sftp镜像创建容器

PS:请勿在生产环境使用此方式,因为这个并没有将docker容器映射到本地,如container丢失将失去所有文件

3、查看并使用sftp

docker ps | grep sftp

很明显已经启动成功了,下面用珍藏已久的SecureFX连接

已经可以开心的上传下载文件了。

4、sftp上传文件目录在宿主机目录

docker run --name mysftp2 -v /host/upload:/home/admin/upload --privileged=true -p 2295:22 -d atmoz/sftp admin:admin:1001
  • -v /host/upload:/home/admin/upload  其中冒号前边的是宿主机目录,后边的挂载到容器中的目录,如果本地目录/host/uplaod不存在会自动创建
  • –privileged=true 由于linux的selinux安全规则所以需要给容器加特权
  • –name mysftp2 名字也换了一个因为name不能重复,端口也是重复了容器会启动不了

5、 创建多用户sftp服务

如果你想给sftp配置多个用户可以有两个方式:

  1. 在容器中创建用户并指派权限
  2. 在宿主机上编写用户文件然后挂载到容器中

第一种直接使用上面的就可以,下面的是第二种方式

docker run --name mysftp3 -v /host/users.conf:/etc/sftp/users.conf:ro -v /home/sftp:/home --privileged=true -p 2296:22 -d atmoz/sftp
  • -v /host/users.conf:/etc/sftp/users.conf:ro  将本地的/host/users.conf映射到容器的/etc/sftp/users.conf,并且在容器内为只读
  • -v /home/sftp:/home  将本地/home/sftp目录映射到容器/home下存放上传的文件

创建本地 /host/users.conf文件

vim /host/users.conf

xiaoming:123:1001:100
goudan:abc:1002:100
erzhu:xyz:1003:100

其中 user:pass:uid:gid  用户名:密码:用户id:组id
ps:这里创建的用户目录默认组和用户都是root没有权限,需要手动修改一下。

这样小组就可以开心使用了!

到此这篇关于docker安装sftp并实现文件上传的文章就介绍到这了,更多相关docker sftp文件上传内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于Docker网络配置及部署SpringCloud项目详解

    关于Docker网络配置及部署SpringCloud项目详解

    这篇文章主要介绍了关于Docker网络配置及部署SpringCloud项目详解,Docker在创建容器时有四种网络模式,bridge为默认不需要去指定,其他三种模式需要在创建容器时使用–net去指定,需要的朋友可以参考下
    2023-07-07
  • 在docker中的mysql容器内执行命令与执行SQL文件方式

    在docker中的mysql容器内执行命令与执行SQL文件方式

    文章介绍了如何通过Docker进入MySQL容器执行SQL文件,并总结了MySQL清空表数据的三种方法:TRUNCATE、DROP和DELETE,每种方法都有其适用场景和特点
    2025-01-01
  • Docker镜像的创建、存出、载入的方法

    Docker镜像的创建、存出、载入的方法

    这篇文章主要介绍了Docker镜像的创建、存出、载入的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • 配置docker阿里云镜像地址的详细步骤记录

    配置docker阿里云镜像地址的详细步骤记录

    docker本身的仓库非常慢,但是国内有阿里云的镜像仓库非常快,下面这篇文章主要给大家介绍了关于配置docker阿里云镜像地址的详细步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • docker生命周期管理和镜像管理命令详解

    docker生命周期管理和镜像管理命令详解

    Docker通过容器技术提供了一种轻量级、快速部署和可移植的应用程序运行环境,极大地简化了应用程序的部署和管理过程,提高了开发和运维的效率,这篇文章主要介绍了docker生命周期管理和镜像管理命令,需要的朋友可以参考下
    2023-08-08
  • 一文带你彻底搞懂Docker中的cgroup的具体使用

    一文带你彻底搞懂Docker中的cgroup的具体使用

    本文主要介绍了Docker中的cgroup的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Docker如何使用OpenvSwitch网桥

    Docker如何使用OpenvSwitch网桥

    本篇文章主要介绍了Docker如何使用OpenvSwitch网桥,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Docker安装MinIO详细步骤介绍

    Docker安装MinIO详细步骤介绍

    大家好,本篇文章主要讲的是Docker安装MinIO详细步骤介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 在IntelliJ IDEA中使用Docker的开发指南

    在IntelliJ IDEA中使用Docker的开发指南

    这篇文章主要给大家介绍了在IntelliJ IDEA中使用Docker开发指南,文中通过图文介绍的非常详细,对我们的使用Docker有一定的帮助,需要的朋友可以参考下
    2023-09-09
  • docker镜像alpine中安装oracle客户端

    docker镜像alpine中安装oracle客户端

    这篇文章主要为大家介绍了docker镜像alpine中安装oracle客户端,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论