:::info 视频演示 https://www.bilibili.com/video/BV1QR4y1H7JF/ :::

取本机 IP

  1. echo $(ip a |grep inet|egrep 'eth|ens'|grep '[192|172].*/' -o|cut -d '/' -f 1)

pure-ftp

docker-compose.yml

  1. cat > docker-compose.yml << EOF
  2. version: "3.7"
  3. services:
  4. pure-ftpd:
  5. image: gists/pure-ftpd
  6. container_name: pure-ftpd
  7. restart: always
  8. environment:
  9. # PASV
  10. PUBLIC_HOST: $(ip a |grep inet|egrep 'eth|ens'|grep '[192|172].*/' -o|cut -d '/' -f 1)
  11. MIN_PASV_PORT: 20000
  12. MAX_PASV_PORT: 20049
  13. ports:
  14. - "21:21"
  15. - "20000-20049:20000-20049"
  16. - "30000-30009:30000-30009"
  17. volumes:
  18. - ./data:/home/ftpuser
  19. - ./pureftpd:/etc/pureftpd
  20. EOF

添加用户

  1. 1. 获取目录权限
  2. docker exec -it pure-ftpd chown ftp:ftp -R /home/ftpuser
  3. 2. 添加用户(输入密码)
  4. user=upload
  5. docker exec -it pure-ftpd pure-pw useradd $user -m -u ftpuser -d /home/ftpuser/$user
  6. 3. 用户生效
  7. docker exec -it pure-ftpd pure-pw mkdb

image.png

测试

fileZilla