使用docker快速搭建一个FTP文件服务器,使用windows资源管理器管理内容,并可以在web应用显示图片

1、创建文件存储目录

#进入data目录
cd /data
#创建ftp文件目录
mkdir ftp_data

2、创建FTP用户

#创建一个FTP用户组
groupadd ftpgroup

#创建FTP用户登入时的主目录
cd /home
mkdir ftpusers

#创建一个FTP用户
useradd -d /home/ftpusers/ftpadmin -g ftpgroup ftpadmin
#设置密码
passwd ftpadmin

#设置不允许这个用户登陆操作系统
usermod -s /sbin/nologin ftpadmin

3、拉取vsftpd镜像

docker pull fauria/vsftpd

4、编辑YAML文件

#创建ftp的docker应用的目录 /home/docker_app/ftp
cd /home
mkdir docerk_app
cd docerk_app
mkdir ftp

#创建YAML文件
cd /home/docker_app/ftp
vim docker-compose.yaml

    docker-compose.yaml文件内容:

version: '3'
services:
  ftp_server:
    restart: always
    image: fauria/vsftpd
    container_name: ftp_server
    privileged: true
    network_mode: "host"
    volumes:
      -  /data/ftp_data:/home/vsftpd
    environment:
      - PASV_ADDRESS=192.168.3.220
      - PASV_MIN_PORT=10000
      - PASV_MAX_PORT=10088
      - FTP_USER=ftpadmin
      - FTP_PASS=ftpadmin

    注意:192.168.3.220 是宿主机的IP,FTP被动模式必须配置 

5、使用docker-compose启动

cd /home/docker_app/ftp
docker-compose up -d

6、在windows上用资源管理器打开FTP目录

     在浏览器的地址上输入:

ftp://192.168.3.220

    如果打不开,可能需要打开FTP被动模式,

    控制面板-》Internet选项-》高级-》浏览-》使用被动FTP(用于。。。)         将其勾选上

    如果一直跳转到浏览器打开,同样的在internet中配置

    控制面板-》Internet选项-》高级-》浏览-》启用FTP文件夹视图(在 IE 之外) 将其勾选上

7、Nginx文件服务器

    ftp服务器访问文件是需要验证权限的,而且ftp协议的文件也无法在现代浏览器中显示出来,因此要借助nginx来搭建一个简易的文件服务器。

    nginx文件服务器使用和ftp同样的文件存储目录。

    

#创建nginx文件服务器目录
cd /home/docker_app
mkdir nginx_fs

    然后创建nginx的配置文件

#创建配置文件
vim nginx.conf

    nginx.conf内容:

user root;
worker_processes 1;
events {
  worker_connections 1024;
}
http {
  server {
    listen 80;
    server_name your.domain.com;
    root /usr/share/nginx/files;
    location / {
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
    }
    charset utf-8; 
  }
}

   创建 docker-compose.yaml文件

vim docker-compose.yaml

   docker-compose.yaml的内容

version: '3'
services:
  nginx:
    container_name: nginx-download
    restart: always
    image: nginx
    ports:
      - "1080:80"
    volumes:
      - "./nginx.conf:/etc/nginx/nginx.conf"
      - "/data/ftp_data/ftpadmin:/usr/share/nginx/files"

   然后启动nginx的服务

docker-compose up -d

    打开浏览器输入:192.168.3.220:1080

在web应用里面,也只要使用 http://192.168.3.220:1080/黑洞.jpeg 这样的地址 就可以直接在浏览器显示图片了。

 

    为什么要用ftp服务器呢?因为之前用过fastDFS这样的分布式文件服务器,但是甲方的运维人员觉得文件服务器里面的文件他们看不到,看不懂,不方便维护,那就整一个能用windows的文件浏览器来管理的FTP服务器吧,既满足应用上传、下载文件的需要,也满足前端显示图片的需要,还满足客户运维的简单管理的需要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值