默认分类

docker部署ftp

1、pull镜像,下载fauria/vsftpd

docker pull fauria/vsftpd

2、创建需要挂载的目录,配置启动容器 ,映射的pub匿名访问目录,方便其他Linux主机wget文件
docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /home/vsftpd/caoxh:/home/vsftpd -v /home/vsftpd/pub:/var/ftp/pub -e PASV_ADDRESS=123.56.136.32 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd

运行docker镜像并创建对应的Container
包含用户名和密码
docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /Ftpfile:/home/vsftpd -e FTP_USER=user -e FTP_PASS=userpwd -e PASV_ADDRESS=<宿主机ip> -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd
不包含用户名和密码
docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /Ftpfile:/home/vsftpd -e PASV_ADDRESS=<宿主机ip> -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd

提示:

PASV_ADDRESS需改为自己的宿主机ip
-p 进行端口绑定映射
-v 进行文件目录的映射
FTP_UESR 和FTP_PASS如果设定了会在container的
/etc/vsftpd/virtual_users.txt里面
PASV_ADDRESS指的的宿主机地址
PASV_MIN_PORT和PASV_MAX_PORT映射的是被动模式下端口使用范围
必须在服务器的防火墙中开启20、21、22和21100/21110端口

3、进入vsftpd镜像对应的容器中
docker exec -i -t vsftpd bash

编辑配置文件写入用户名和密码(奇数行为用户名,偶数行为密码)
vi /etc/vsftpd/virtual_users.txt

添加新用户的文件夹,以用户名命名
mkdir -p /home/vsftpd/<新用户名>

修改完成配置信息后执行命令,hash处理登录的验证信息并写入数据库
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db

退出container
exit或Ctrl+D

重启container
docker restart vsftpd

验证ftp
ftp://<宿主机ip>

如果无法正常访问需要登录到容器修改vsftpd.conf配置文件,注释anonymous_enable=NO,就可以正常访问了

不指定下载目录
如果不指定下载目录,那么文件将被下载到当前目录。
命令格式:wget 网址

wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

指定下载目录
命令格式:wget -P 目录 网址
wget -P /home/test https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

指定下载目录及文件名
命令格式:wget 网址 -o 目录/文件名
wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm -o /home/temp.rar

This is just a placeholder img.