Docker: 如何部署vsftpd实例?

Docker: How to deploy a vsftpd instance?

背景:

我开始尝试在 Docker.

上进行 Web 部署

所以现在我有:

  1. mariadb实例存放所有数据,数据目录设置为volume;
  2. php:fpm个别网站实例,分卷设置在/var/docker/www;
  3. 的子目录下
  4. nginx前端为单独容器,volume设置为/var/docker/www,配置volume设置为-v /var/docker/nginx/conf.d /etc/nginx/conf.d;

所以,还有一件事,我想给一个ftp帐户给相关客户访问/var/www的子目录。

例如:/var/docker/www/site1,或/var/docker/www/site2


问题

所以,现在我想自己制作一个vsftpd图像,但我面临以下问题:

  1. 如何设置用户权限?我将有不同的 ftp 用户,但 www 文件所有者都设置为 root.
  2. (新手问题)我应该把里面的vsftpd作为守护进程启动吗?设置 listen=NO?
  3. 如何设置网络?那会是 NAT 问题吗?

终于,这个问题有好的整体解决方案吗?要在 docker 主机上部署 vsftpd 实例?

I will have different ftp users, but the www file owners are all set to root.

最好将这些 www 文件设置为 www-data,就像 docker-vsftpd/Dockerfile 所做的那样。
您还有 fauria/docker-vsftpd,它允许参数化 ftp 用户,但只有当 www 文件是所述 ftp 用户的公共组的一部分时,这才有用。