docker-compose.yml

  1. version: '3.7'
  2. services:
  3. {服务名}:
  4. build: environment
  5. network_mode: host
  6. restart: always
  7. container_name: {服务名}
  8. ports:
  9. - 外部端口:内部端口

Dockerfile

FROM openjdk:8-jre
# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir /app
COPY {文件}.jar /app/app.jar
ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app/app.jar"]
EXPOSE {prot}
#基于java8
FROM java:8

#创建一个目录存放jar包
RUN mkdir -p /opt/ormis/ormis-admin/config /opt/ormis/ormis-admin/logs

#复制jar包以及相关配置文件
COPY ormis-admin-1.0-SNAPSHOT.jar /ormis-admin-1.0-SNAPSHOT.jar

#添加进入docker容器后的目录
WORKDIR /opt/ormis/ormis-admin

#配置项目端口
CMD ["--server.port=7001"]

#对外暴露的端口号
EXPOSE 7001

#修改文件的创建修改时间
RUN bash -c 'touch /ormis-admin-1.0-SNAPSHOT.jar'

#运行脚本,启动springboot项目,这里我们指定加载配置文件的位置,并且通过数据卷挂载同步到容器中
ENTRYPOINT ["java","-jar","/ormis-admin-1.0-SNAPSHOT.jar","-Dspring.config.location=/opt/ormis/ormis-admin/config/bootstrap.properties,/opt/ormis/ormis-admin/config/application.yml --logging.config=/opt/ormis/ormis-admin/config/log4j2-dev.xml > /opt/ormis/ormis-admin/logs/ormis-admin.log 2>&1 &"]