Docker部署java项目

作者: gavin 分类: Docker,Java 基础 发布时间: 2022-01-20 09:05

一、创建目录存放jar包和DockerFile文件

DockerFile文件内容:

# Docker image for springboot file run
# VERSION 0.0.1
# Author: eangulee
# 基础镜像使用java
FROM java:8
# 作者
# MAINTAINER eangulee <eangulee@gmail.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为app.jar
ADD wiki.jar app.jar 
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

原先的java:8镜像报错了,下面是优化过的dockerfile

FROM majiajue/jdk1.8

# 解决容器内运行中文显示成?的问题
ENV LANG C.UTF-8

# 设置时区为上海
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 把当前目录的app.jar存放到容器里的根目录命名app.jar
COPY app.jar /app.jar
CMD ["java", "-jar", "/app.jar"]

二、通过dockerfile创建镜像

docker build -t springbootvue3 .

三、通过镜像创建容器并映射端口和文件夹

docker run --name SpringBootVue3 --restart=always -d -p 8880:8880 springbootvue3

四、把jar映射出来,便于更新

docker run --name chat832-admin --restart=always -v /root/jar/Crmeb-admin.jar:/app.jar -d -p 8080:8080 chat832-admin

五、查看java运行日志

docker logs -f --tail 100 chat832-admin