Docker 部署 FTP

1、拉取VSFTPD镜像

docker pull fauria/vsftpd

2、启动容器

docker run -itd -v /var/ftp:/home/vsftpd -p 20:20 -p 21:21 -p 21100-21110:21100-21110 
-e FTP_USER=[用户名] -e FTP_PASS=[密码] -e PASV_ADDRESS=[宿主机IP]
-e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --privileged=true 
--restart=always  fauria/vsftpd

3、开放端口

在宿主机开放端口(docker应该会处理好iptables规则,为了防止万一配置一下)

iptables -I INPUT -p tcp --dport 20 -j ACCEPT
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
iptables -I INPUT -p tcp --dport 21100:21110 -j ACCEPT

4、测试

查看容器状态

docker ps

在这里插入图片描述
通过工具链接FTP
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Docker部署 FTP 服务器并指定上传文件的目录,您可以在 Dockerfile 中设置 FTP 目录,并在启动容器时将本地目录映射到 Docker 容器中的 FTP 目录。以下是示例 Dockerfile: ```Dockerfile FROM stilliard/pure-ftpd:latest RUN mkdir -p /home/ftpusers/ftp RUN groupadd ftpgroup && useradd -g ftpgroup -d /home/ftpusers/ftp ftpuser RUN chown -R ftpuser:ftpgroup /home/ftpusers/ftp RUN echo "/bin/false" >> /etc/shells RUN echo "no" > /etc/pure-ftpd/conf/TLS RUN echo "yes" > /etc/pure-ftpd/conf/NoAnonymous RUN echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone RUN echo "yes" > /etc/pure-ftpd/conf/UnixAuthentication RUN echo "no" > /etc/pure-ftpd/conf/PAMAuthentication ENV FTP_USER_NAME=ftpuser \ FTP_USER_PASS=password \ FTP_USER_HOME=/home/ftpusers/ftp \ FTP_PASSIVE_PORTS=30000:30009 \ FTP_UID=1000 \ FTP_GID=1000 \ FTP_DIRECTORY=/home/ftpusers/ftp/uploads EXPOSE 21 30000-30009 ``` 在 Dockerfile 中,我们将 FTP 目录设置为 `/home/ftpusers/ftp/uploads`。注意,我们还创建了一个名为 `ftpuser` 的用户,并将其添加到 `ftpgroup` 组中。我们还将 FTP 目录的所有权设置为 `ftpuser` 用户和 `ftpgroup` 组。 在启动容器时,我们需要将本地目录映射到 Docker 容器中的 FTP 目录。您可以使用以下命令启动 FTP 服务器容器: ```bash docker run -d -p 21:21 -p 30000-30009:30000-30009 \ -v /path/to/local/uploads:/home/ftpusers/ftp/uploads \ -e FTP_USER_NAME=ftpuser \ -e FTP_USER_PASS=password \ -e FTP_USER_HOME=/home/ftpusers/ftp \ -e FTP_PASSIVE_PORTS=30000:30009 \ -e FTP_UID=1000 \ -e FTP_GID=1000 \ -e FTP_DIRECTORY=/home/ftpusers/ftp/uploads \ --name ftp-server \ stilliard/pure-ftpd:latest ``` 在上面的命令中,我们将本地目录 `/path/to/local/uploads` 映射到 Docker 容器中的 FTP 目录 `/home/ftpusers/ftp/uploads`。您可以将本地目录替换为您要上传文件的目录。注意,我们还将 FTP 目录的所有权设置为 `ftpuser` 用户和 `ftpgroup` 组。 现在,您可以将文件上传到 Docker 容器中的指定目录 `/home/ftpusers/ftp/uploads`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值