如何在Docker中运行Aspose.Cells for Java
微服务结合容器化使得很容易结合技术。Docker允许您轻松地将Aspose.Cells功能集成到您的应用程序中,无论您的开发堆栈中使用什么技术。
如果您的目标是微服务或者您的技术栈中主要的技术不是.NET、C++或Java,但您需要Aspose.Cells功能,或者如果您已经在技术栈中使用了Docker,那么您可能对在Docker容器中使用Aspose.Cells for Java感兴趣。
先决条件
- 您的系统上必须安装Docker。
创建一个Java应用程序
在这个示例中,您将创建一个简单的xlsx文件,保存并读取它的Java应用程序。然后可以在Docker中构建和运行该应用程序。
创建Java应用程序
在Eclipse中使用以下代码创建Java应用程序。在这个示例中,我们使用Aspose.Cells for Java创建一个新的xlsx工作表,并设置其表名和单元格值,然后读取它们并输出它们。
import java.text.SimpleDateFormat; | |
import java.util.Date; | |
import com.aspose.cells.Workbook; | |
public class TestDocker { | |
public static void main(String[] args) throws Exception { | |
Date day1 = new Date(); | |
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | |
System.out.println(df.format(day1)); | |
System.out.println("Test Begin!"); | |
System.out.println("Step1: New workbook"); | |
Workbook book = new Workbook(); | |
book.getWorksheets().get(0).setName("AsposeCellsJavaTest"); | |
book.getWorksheets().get(0).getCells().get(0,0).setValue(df.format(day1)); | |
book.save("output_java.xlsx"); | |
System.out.println("Step2: Read workbook"); | |
Workbook book2 = new Workbook("output_java.xlsx"); | |
String sheetName = book2.getWorksheets().get(0).getName(); | |
System.out.println("sheet1 Name: " + sheetName); | |
String cellValue = book2.getWorksheets().get(0).getCells().get(0,0).getStringValue(); | |
System.out.println("cell1 value: " + cellValue); | |
Date day2 = new Date(); | |
System.out.println(df.format(day2)); | |
System.out.println("Test Finished!"); | |
} | |
} |
将Java应用程序制作成jar包
下图显示了使用Eclipse的“导出”菜单制作jar包的方法。
现在我们使用Aspose.Cells for Java编写了一个Java程序,得到了一个jar包。接下来我们将制作一个dockerfile。
配置Dockerfile
下一步是创建和配置Dockerfile。
- 创建Dockerfile并将其放置在jar包旁边,保持文件名不带扩展名(默认)。
- 在Dockerfile中指定:
FROM williamyeh/java8:latest
VOLUME /tmp
ADD TestDocker.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
在Docker中构建和运行应用程序
现在该应用程序可以在Docker中构建和运行了。打开您喜欢的命令提示符,切换到包含Dockerfile的文件夹,运行以下命令:
docker build -t java-app .
执行上述命令后,您将得到XLSX工作表的输出和命令行的结果。此时,Java程序已经成功在Linux Docker中运行。