Bladeren bron

优化dockerfile文件

shiyue 8 maanden geleden
bovenliggende
commit
6754eed146
3 gewijzigde bestanden met toevoegingen van 49 en 17 verwijderingen
  1. 24 3
      energy-manage-service/Dockerfile
  2. 25 0
      energy-manage-service/pom.xml
  3. 0 14
      energy-manage-service/src/main/docker/Dockerfile

+ 24 - 3
energy-manage-service/Dockerfile

@@ -1,14 +1,35 @@
 # 该镜像需要依赖的基础镜像
-FROM --platform=linux/amd64 jdk8:latest
+FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openjdk:8-alpine-linuxarm64
+#FROM --platform=linux/amd64 jdk8:latest
 
 # 指定维护者的名字
 MAINTAINER shiyue
+# 设置自定义标签
+LABEL version="1.0.0"
+
+# 创建工作目录
+RUN mkdir -p /data/app/logs
+
+# 生成接口挂载点
+#VOLUME ["/data/app/logs"]
 
 # 将当前目录下的jar包复制到docker容器的/目录下
 ADD target/*.jar /data/app/energy-manage-service.jar
 
-# 声明服务运行在8080端口
+#设置时区
+RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
+#RUN echo 'Asia/Shanghai' >/etc/timezone
+
+#设置环境变量
+ENV LANG = "zh_CN.UTF-8"
+ENV JAVA_OPTS=" -Duser.timezone=Asia/Shanghai -server -Xmx2048m -Xms2048m -Xss512k "
+ENV JAVA_USER=" -XX:+UseFastAccessorMethods -XX:MaxMetaspaceSize=512m -XX:MetaspaceSize=512m  -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=92 -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 "
+ENV JAVA_OOM=" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=java_heapdump.hprof "
+
+
+# 声明运行端口
 EXPOSE 16200
 
 # 指定docker容器启动时运行jar包
-ENTRYPOINT ["java", "-jar","/energy-manage-service.jar"]
+ENTRYPOINT ["sh", "-c", " java $JAVA_OPTS $JAVA_USER $JAVA_OOM -Dfile.encoding=utf-8  -jar /data/app/energy-manage-service.jar "]
+

+ 25 - 0
energy-manage-service/pom.xml

@@ -82,6 +82,31 @@
                     <mainClass>com.energy.manage.service.ManageAppApplication</mainClass>
                 </configuration>
             </plugin>
+            <!-- Docker maven plugin -->
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <version>1.0.0</version>
+                <configuration>
+                    <!-- docker私服的地址 -->
+<!--                    <dockerHost>http://192.168.112.135:2375</dockerHost>-->
+                    <!--镜像名称以及版本号-->
+                    <imageName>${project.build.finalName}:1.0.0</imageName>
+                    <!-- 若需要重复构建相同标签名称的镜像,可将 forceTags 设置为 true -->
+                    <forceTags>true</forceTags>
+                    <!--Dockerfile的位置 -->
+                    <dockerDirectory>${project.basedir}</dockerDirectory>
+                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
+                    <resources>
+                        <resource>
+                            <targetPath>/</targetPath>
+                            <directory>${project.build.directory}</directory>
+                            <include>${project.build.finalName}.jar</include>
+                        </resource>
+                    </resources>
+                </configuration>
+            </plugin>
+            <!-- Docker maven plugin -->
             <!-- Compiler 插件, 设定JDK版本 -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>

+ 0 - 14
energy-manage-service/src/main/docker/Dockerfile

@@ -1,14 +0,0 @@
-# 该镜像需要依赖的基础镜像
-FROM jdk8:latest
-
-# 指定维护者的名字
-MAINTAINER shiyue
-
-# 将当前目录下的jar包复制到docker容器的/目录下
-ADD target/*.jar /data/app/energy-manage-service.jar
-
-# 声明服务运行在8080端口
-EXPOSE 16200
-
-# 指定docker容器启动时运行jar包
-ENTRYPOINT ["java", "-jar","/energy-manage-service.jar"]