Docker构建Java镜像并部署Java项目的完整步骤
作者:意料之中。
前言
本文介绍了如何使用Docker构建一个Java项目的镜像,并以后端项目为例进行演示。在这个例子中,我们将使用 eclipse-temurin:8-jre
作为基础镜像,并创建一个可以运行Java项目的Docker镜像。
1. 准备工作
在开始之前,我们需要做一些准备工作。首先,确保你已经安装了Docker,并具有构建和运行Docker镜像的权限。
接下来,我们需要准备Java项目的可执行JAR文件。假设我们的Java项目构建后的可执行JAR文件位于 ./wms-admin/target/code-safe.jar
。我们将在Docker镜像中将该JAR文件复制到容器中,并在容器中运行它。
2. 创建Dockerfile
在项目根目录下创建一个名为 Dockerfile
的文件,并使用以下内容:
# 指定基础镜像 FROM eclipse-temurin:8-jre # 在镜像中执行命令,创建目录,并使用它作为工作目录 RUN mkdir -p /project # 设置工作目录,即后续命令的默认执行路径 WORKDIR /project # 复制文件或目录到镜像中。可以将本地文件或目录复制到镜像的指定位置。 COPY ./code-safe.jar /project/code-safe.jar # 设置环境变量 # 指定容器的时区 ENV TZ=Asia/Shanghai # 用于配置 Java 虚拟机的选项,如初始堆大小、最大堆大小和随机数生成器,可通过 docker run -e "JAVA_OPTS=" 进行覆盖 ENV JAVA_OPTS="-Xms512m -Xmx1024m -Djava.security.egd=file:/dev/./urandom" ## 应用参数 ENV ARGS="" # 定义容器启动后执行的命令,启动后端项目 CMD java ${JAVA_OPTS} -jar code-safe.jar $ARGS # 声明要监听的端口 EXPOSE 16000
在这个Dockerfile中,我们使用 eclipse-temurin:8-jre
作为基础镜像。然后,我们创建一个工作目录/project,并将Java项目的可执行JAR文件复制到容器中的该目录下。
接下来,我们设置了一些环境变量,用于配置Java虚拟机的选项和应用参数。其中,JAVA_OPTS用于配置Java虚拟机的一些选项,如初始堆大小和最大堆大小。我们还定义了一个ARGS环境变量,用于传递应用程序的命令行参数。
最后,我们使用CMD指令定义容器启动后要执行的命令。在这个例子中,我们将以 ${JAVA_OPTS}
和 ${ARGS}
为参数启动Java应用程序。
3. 构建镜像
- 准备好资源
- 将资源
jar包
,Dockerfile
放在同一个目录中 - 使用docker build命令来构建我们的Java镜像
docker build -t java .
其中,-t选项指定镜像的名称为java,.表示Dockerfile所在的当前目录。
4. 查看镜像是否构建成功
docker images
5. 运行容器
完成镜像的构建后,我们可以使用docker run命令来运行容器:
docker run -d -p 16000:16000 --name myjava java:latest
-d参数表示以后台方式运行容器-p 16000:16000参数表示将容器的16000端口映射到主机的16000端口–name myjava 参数表示为容器指定一个名字。
查看容器是否运行成功
docker ps -a
6. 访问Java服务
现在,我们已经成功运行了一个Java项目的Docker容器。我们可以通过访问http://localhost:16000来访问我们的Java应用程序。
7. 总结
本文介绍了如何使用Docker构建一个Java项目的镜像,并在容器中运行它。通过使用Docker,我们可以将Java应用程序打包为一个独立的容器,使得应用程序的部署和管理更加简单和灵活。
到此这篇关于Docker构建Java镜像并部署Java项目的文章就介绍到这了,更多相关Docker构建Java镜像并部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!