我正在构建一个 Docker Web 应用程序,我需要按顺序使用以下包组装一个 Docker 映像:
- OpenJDK-11+28_linux-x64_bin.tar.gz
- apache-tomcat-9.0.27.tar.gz -- 在Maven中为:org.apache.tomcat:tomcat:9.0.27
- jcc-11.5.0.0.jar -- 在 Maven 中为: com.ibm.db2:jcc:11.5.0.0
- my-app.tar.gz -- 这是由Maven构建的。
因此,在 docker 映像中,我首先安装 Java,然后是 Tomcat,然后是 DB2 的 JDBC 驱动程序,最后是我的 Web 应用程序。我可以从Maven那里得到所有这些,除了第一个:OpenJDK。
如果它不在 Maven 中,我是否需要在我的 git 存储库中包含整个 OpenJDK 11,以便它用于 docker 构建?
也许,我这样做的方式是错误的,但我想确保 docker 构建在它运行的任何机器上都能正常工作。我在想 CI/CD。
您可以使用 OpenJDK 11 的 Docker 镜像
FROM openjdk:11
或者,如果您需要较小的 OpenJDK 11 映像,则可以使用 Alpine 基础映像
FROM openjdk:11-alpine
通过这种方式,您的容器中已经有了 OpenJDK 11,而无需使用 Maven 来获取它。