需要脚本源码的同学,
私信“HelloDocker”获取Docker脚本下载地址,
私信“HelloJava”获取Java调用Ftp服务示例代码下载地址。
Docker是一个开源的应用容器引擎,将应用以及依赖打包到一个可移植的镜像中,部署到服务器并运行在Container容器实例中。
vsftpd是一个免费开源的ftp服务器,小巧轻快,支持虚拟用户、带宽限制等功能,搭建FTP服务时经常使用。
在docker-compose.yml中配置启动参数,省去繁琐配置,一键启动。
1,配置docker-compose.yml
指定登录用户密码test/test,配置文件保存路径,启动时自动配置。
version: '3'
services:
ftp:
image: fauria/vsftpd:latest
restart: always
privileged: true
ports:
- "20:20"
- "21:21"
- "21100-21110:21100-21110"
volumes:
- ./files:/home/vsftpd
environment:
- FTP_USER=test
- FTP_PASS=test
- PASV_ADDRESS=127.0.0.1
- PASV_MIN_PORT=21100
- PASV_MAX_PORT=21110
2,启动服务
运行脚本up.sh或者docker-compose up -d
3,浏览器打开页面:ftp://127.0.01/ 账号密码: test/test
4,Java调用FTPClient实现文件上传功能
pom.xml引用依赖
<code><dependency>
<groupid>commons-net/<groupid>
<artifactid>commons-net/<artifactid>
<version>3.6/<version>
/<dependency>/<code>
封装FtpUtil
5,增加单元测试
<code>@Test
public void testUpload() throws IOException {
String filePath = "readme.md";
InputStream fileStream = new FileInputStream(new File(filePath));
boolean ret = FtpUtil.upload("unit-testing", String.format("%d_%s", new Date().getHours(), filePath), fileStream);
fileStream.close();
FtpUtil.close();
Assert.assertTrue(ret);
}/<code>
运行代码,上传文件。
閱讀更多 急速馬力快de源碼客 的文章