目录
1. 项目运行所需的文件(jar包)
2. dockerfile文件
dockerfile 文件内容
- FROM openjdk:11
-
- VOLUME /root/analysisDocker/file
-
- ADD analysis-0.0.1-SNAPSHOT.jar /analysis.jar
-
- EXPOSE 8085
-
- RUN rm -f /etc/localtime \
- && ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
- && echo "Asia/Shanghai" > /etc/timezone
-
- ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/analysis.jar"]
dockerfile文件内容解读 | |
FROM openjdk:11 | 表示我们这个镜像运行在jdk11的基础上 |
VOLUME /root/analysisDocker/file | 声明一个挂载点,容器内此路径会对应宿主机的某个文件夹 |
ADD analysis-0.0.1-SNAPSHOT.jar /analysis.jar | 将准备的jar文件复制到容器下并更名analysis.jar(自定义) |
EXPOSE 8085 | 对外暴露8085端口 |
RUN rm -f /etc/localtime \ && ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone | 这个是改时区,将时区改为上海,也可以不添加,即为默认时区 |
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/analysis.jar"] | 启动容器时的进程,注意更改最后jar包名称为你自己的 |
因为我的项目是依赖jdk11的所以需要在docker上下载jdk11
输入以下命令即可拉取镜像(需要联网),如果是jdk其他版本命令也类似,可以仔细根据自己的版本百度
docker pull openjdk:11
在当前文件夹目录下运行此命令即可完成打包,打包后会提示打包成功/失败
docker build -t analysis-1.0 .
打包成功后,输入docker image会显示已打包好的镜像analysis-1.0
输入此命令即可完成容器运行
docker run -p 8085:8085 -p 20001:20001 -d --name analysis1.0 analysis-1.0
-p 8085:8085是指将容器的8085(后)端口映射到我们的服务器端口8085(前)
-d 保持后台一直运行
--name analysis1.0 analysis-1.0 指将analysis-1.0镜像运行并将容器更名为 analysis1.0
其他更多参数,可自行百度
至此,我们的java项目已经部署到docker上实现容器化管理了
查看容器日志(如果容器运行失败也可以根据查看日志来排除问题)
docker logs -f --tail 10000 analysis-1.0(容器名)