instantlinux/vsftpd Docker Image
一个简洁、易用、轻量且功能全面的vsftpd安装,基于Alpine构建。
vsftpd
A clean, easy-to-use, tiny yet full-featured installation of vsftpd wrapped in Alpine.
Usage
The most-common directives can be specified in environment variables as shown below. If you need further customizations, put them in one or more files under a mount point /etc/vsftpd.d.
A single upload user can be specified via the FTPUSER_xxx variables. It is activated by defining ftp-user-password-secret thus:
python -c "import crypt,random,string; \ print crypt.crypt('YOURPASSWORD', '\$6\$' + ''.join( \ [random.choice(string.ascii_letters + string.digits) \ for _ in range(16)]))" | \ docker secret create ftp-user-password-secret -
An example compose file is provided here in docker-compose.yml. This is for the common scenario of sharing from Docker swarm the contents of a network-attached volume as a read-only anonymous-ftp service. This repo has complete instructions for https://github.com/instantlinux/docker-tools/blob/main/k8s/README.md where you can deploy https://github.com/instantlinux/docker-tools/blob/main/images/vsftpd/kubernetes.yaml using make and customizing https://github.com/instantlinux/docker-tools/blob/main/k8s/Makefile.vars after cloning this repo:
git clone https://github.com/instantlinux/docker-tools.git cd docker-tools/k8s make vsftpd
Status: [|[] has a brief history of how vsftpd met its demise after 2011, with resurrection a few years later. I've switched to https://hub.docker.com/r/instantlinux/proftpd (see that image). This image is still maintained.
Variables
These variables can be passed to the image from kubernetes.yaml or docker-compose.yml as needed:
| Variable | Default | Description |
|---|---|---|
| ANONYMOUS_ENABLE | YES | Anonymous login |
| ANON_MKDIR_WRITE_ENABLE | NO | Anonymous mkdir |
| ANON_UPLOAD_ENABLE | NO | Anonymous upload |
| FTPUSER_PASSWORD_SECRET | ftp-user-password-secret | hashed pw of upload user |
| FTPUSER_NAME | ftpuser | upload username |
| FTPUSER_UID | 1001 | upload file ownership UID |
| LOCAL_UMASK | 022 | upload umask |
| LOG_FTP_PROTOCOL | NO | more-verbose logging |
| PASV_ADDRESS | required--address of docker engine | |
| PASV_MAX_PORT | 30100 | range of client ports (rebuild image if changed) |
| PASV_MIN_PORT | 30091 | |
| TZ | UTC | local timezone |
| USE_LOCALTIME | YES | local time for directory listing |
| VSFTPD_LOG_FILE | /dev/stdout | logfile destination |
| WRITE_ENABLE | YES | allow put/rm |
Secrets
| Secret | Description |
|---|---|
| ftp-user-password-secret | (optional) hashed pw of upload user |
Contributing
If you want to make improvements to this image, see https://github.com/instantlinux/docker-tools/blob/main/CONTRIBUTING.md.
instantlinux 命名空间的其他可用镜像:
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
轩辕镜像加速拉取命令点我查看更多 vsftpd 镜像标签
DockerHub 原生拉取命令
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务