使用docker-compose快速部署vsftpd并配置HTTP访问

写在前面:docker及docker-compose的部署文档遍地都是,本文不再赘述。

1、编写docker-compose.yml配置文件

[root@localhost vsftp]# vim docker-compose.yml

version: '3'
services:
  nginx:
    image: nginx:1.21.6-alpine
    container_name: ftp-nginx
    ports:
      - "80:80"
    volumes:
      - ./data:/usr/share/nginx/html
      - ./nginx/conf.d:/etc/nginx/conf.d
    restart: always
  vsftpd:
    image: shourai/vsftpd-alpine:latest
    container_name: vsftp
    environment:
      - FTP_USER=admin        #自定义用户名
      - FTP_PASS=123123       #自定义用户密码 
      - PASV_ENABLE=YES
      - PASV_ADDRESS=192.168.2.21    #宿主机的IP
      - PASV_MIN_PORT=21100
      - PASV_MAX_PORT=21110
      - ANON_ENABLE=NO
      - NO_ANON_PASSWD=NO
      - ANON_ROOT=/var/ftp
    volumes:
      - ./data:/home/admin    #与FTP_USER保持一致,即$FTP_USER的值是什么此处的目录就是什么
    ports:
      - "20:20"
      - "21:21"
      - "21100-21110:21100-21110"
    restart: always

2、创建nginx挂载目录并编写配置文件

[root@localhost vsftp]# mkdir -p nginx/conf.d
[root@localhost vsftp]# vim  nginx/conf.d/vsftp.conf

server{
        listen  80;
        server_name     _;
        root    /usr/share/nginx/html;
        location /{
                autoindex on;   # 开启目录文件列表
                autoindex_exact_size on; # 显示出文件的确切大小,单位是bytes
                autoindex_localtime on; # 显示的文件时间为文件的服务器时间
                charset utf-8,gbk;  # 避免中文乱码
        }
}

3、启动vsftpd

[root@localhost vsftp]# docker-compose up -d
 

总结:docker-compose可以快速部署,方便迁移。本文中的vsftpd镜像是笔者试用几个镜像后的最终选择,且作者也制作了arm平台的镜像,十分方便往arm服务器上部署。

猜你喜欢

转载自blog.csdn.net/m0_58684193/article/details/124817438