Explorar o código

编写构建镜像的Dockerfile

lijie %!s(int64=3) %!d(string=hai) anos
pai
achega
fbcc3cd2dc

+ 15 - 8
docker/dockerfiles/labsl/Dockerfile

@@ -6,15 +6,22 @@ LABEL tier=backend
 LABEL product=bdtp
 LABEL project=persagy
 LABEL name=labsl
+
 ENV TZ Asia/Shanghai
 ENV JAVA_OPTS -Dfile.encoding=UTF-8
-RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list && apt-get clean
-#RUN apt-get update || true && apt-get install -y --no-install-recommends tzdata nfs-common curl && rm -rf /var/lib/apt/lists/*
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime	&& echo 'Asia/Shanghai' > /etc/timezone
-RUN rm -rf webapps/*
-COPY *.war webapps/
-RUN unzip webapps/*.war -d webapps/ROOT
-RUN rm -rf webapps/*.war
+ENV JVM "-Xmx2048m -Xms1024m -XX:+UseParallelOldGC -Xloggc:/somewhere/somename.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution"
+
+RUN apt-get install -y --no-install-recommends tzdata \
+    && rm -rf /var/lib/apt/lists/* \
+    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
+    && echo 'Asia/Shanghai' > /etc/timezone \
+    && rm -rf ./webapps/*
+
+COPY *.zip .
+
+RUN rm -rf ./webapps/* && unzip *.zip -d ./webapps
+RUN mv ./webapps/* ./webapps/ROOT && rm -rf *.zip
+
 COPY entrypoint.sh .
-RUN chmod +x entrypoint.sh
+
 ENTRYPOINT ["sh","./entrypoint.sh"]

+ 11 - 3
docker/dockerfiles/labsl/entrypoint.sh

@@ -1,9 +1,17 @@
 #!/bin/bash
+
 echo "entrypoint run..."
+
 default_hosts(){
+
 echo "**********************start /etc/hosts*****************************************"
-	cat /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/config.properties
- echo "********************************************end*****************************"
+	cat /etc/hosts
+echo ------------------------end /etc/hosts-----------------------------------------
 }
+
 default_hosts
-sh bin/catalina.sh run
+
+echo "default-jvm: $JVM"
+sed -i "109i JAVA_OPTS=\"${JVM}\"" ./bin/catalina.sh
+
+sh bin/catalina.sh run

+ 14 - 23
docker/dockerfiles/meiku/Dockerfile

@@ -1,36 +1,27 @@
 #构建此镜像的基础镜像
-FROM java:8-jre
+FROM tomcat:9.0-jdk8
 #指定作者名称
 MAINTAINER lijie<lijie@persagy.com>
-
-#定义标签属性
 LABEL tier=backend
-LABEL product=adm
-LABEL project=meiku
+LABEL product=bdtp
+LABEL project=persagy
 LABEL name=meiku
 
-#设置环境变量
-ENV JAVA_OPTS -Dfile.encoding=UTF-8 -Xms2048m -Xmx2048m
 ENV TZ Asia/Shanghai
-#ARG 可以接收docker build命令中以--build-arg 指定的参数
-ARG WORKER_HOME
+ENV JAVA_OPTS -Dfile.encoding=UTF-8
+ENV JVM "-Xmx2048m -Xms1024m -XX:+UseParallelOldGC -Xloggc:/somewhere/somename.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution"
 
-#执行的命令
-RUN apt-get install -y --no-install-recommends tzdata && rm -rf /var/lib/apt/lists/*
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime	&& echo 'Asia/Shanghai' > /etc/timezone
+RUN apt-get install -y --no-install-recommends tzdata \
+    && rm -rf /var/lib/apt/lists/* \
+    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
+    && echo 'Asia/Shanghai' > /etc/timezone \
+    && rm -rf ./webapps/*
 
-RUN mkdir -p $WORKER_HOME/config
+COPY *.zip .
 
-#复制文件到容器内
-COPY *.jar $WORKER_HOME/app.jar
-COPY entrypoint.sh $WORKER_HOME/
-COPY version.txt $WORKER_HOME/
-COPY config $WORKER_HOME/config
-#设置工作目录
-WORKDIR $WORKER_HOME
+RUN rm -rf ./webapps/* && unzip *.zip -d ./webapps
+RUN mv ./webapps/* ./webapps/ROOT && rm -rf *.zip
 
-#查看上述复制的文件,是否复制成功
-RUN ls
+COPY entrypoint.sh .
 
-#启动执行
 ENTRYPOINT ["sh","./entrypoint.sh"]

+ 15 - 1
docker/dockerfiles/meiku/entrypoint.sh

@@ -1,3 +1,17 @@
 #!/bin/bash
+
 echo "entrypoint run..."
-java -jar $JAVA_OPTS -Dserver.port=$SERVER_PORT -Deureka.client.service-url.defaultZone=$EUREKA_CLIENT_DEFAULT_ZONE -Dspring.cloud.config.profile=$SPRING_CLOUD_CONFIG_PROFILE -Dspring.cloud.config.uri=$SPRING_CLOUD_CONFIG_URI app.jar
+
+default_hosts(){
+
+echo "**********************start /etc/hosts*****************************************"
+	cat /etc/hosts
+echo ------------------------end /etc/hosts-----------------------------------------
+}
+
+default_hosts
+
+echo "default-jvm: $JVM"
+sed -i "109i JAVA_OPTS=\"${JVM}\"" ./bin/catalina.sh
+
+sh bin/catalina.sh run

+ 15 - 24
docker/dockerfiles/message-center/Dockerfile

@@ -1,36 +1,27 @@
 #构建此镜像的基础镜像
-FROM java:8-jre
+FROM tomcat:9.0-jdk8
 #指定作者名称
 MAINTAINER lijie<lijie@persagy.com>
-
-#定义标签属性
 LABEL tier=backend
-LABEL product=adm
-LABEL project=message-center
-LABEL name=bdtp-messsage
+LABEL product=bdtp
+LABEL project=persagy
+LABEL name=message-center
 
-#设置环境变量
-ENV JAVA_OPTS -Dfile.encoding=UTF-8 -Xms2048m -Xmx2048m
 ENV TZ Asia/Shanghai
-#ARG 可以接收docker build命令中以--build-arg 指定的参数
-ARG WORKER_HOME
+ENV JAVA_OPTS -Dfile.encoding=UTF-8
+ENV JVM "-Xmx2048m -Xms1024m -XX:+UseParallelOldGC -Xloggc:/somewhere/somename.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution"
 
-#执行的命令
-RUN apt-get install -y --no-install-recommends tzdata && rm -rf /var/lib/apt/lists/*
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime	&& echo 'Asia/Shanghai' > /etc/timezone
+RUN apt-get install -y --no-install-recommends tzdata \
+    && rm -rf /var/lib/apt/lists/* \
+    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
+    && echo 'Asia/Shanghai' > /etc/timezone \
+    && rm -rf ./webapps/*
 
-RUN mkdir -p $WORKER_HOME/config
+COPY *.zip .
 
-#复制文件到容器内
-COPY *.jar $WORKER_HOME/app.jar
-COPY entrypoint.sh $WORKER_HOME/
-COPY version.txt $WORKER_HOME/
-COPY config $WORKER_HOME/config
-#设置工作目录
-WORKDIR $WORKER_HOME
+RUN rm -rf ./webapps/* && unzip *.zip -d ./webapps
+RUN mv ./webapps/* ./webapps/ROOT && rm -rf *.zip
 
-#查看上述复制的文件,是否复制成功
-RUN ls
+COPY entrypoint.sh .
 
-#启动执行
 ENTRYPOINT ["sh","./entrypoint.sh"]

+ 15 - 1
docker/dockerfiles/message-center/entrypoint.sh

@@ -1,3 +1,17 @@
 #!/bin/bash
+
 echo "entrypoint run..."
-java -jar $JAVA_OPTS -Deureka.client.service-url.defaultZone=$EUREKA_CLIENT_DEFAULT_ZONE -Dspring.cloud.config.profile=$SPRING_CLOUD_CONFIG_PROFILE -Dspring.cloud.config.uri=$SPRING_CLOUD_CONFIG_URI app.jar
+
+default_hosts(){
+
+echo "**********************start /etc/hosts*****************************************"
+	cat /etc/hosts
+echo ------------------------end /etc/hosts-----------------------------------------
+}
+
+default_hosts
+
+echo "default-jvm: $JVM"
+sed -i "109i JAVA_OPTS=\"${JVM}\"" ./bin/catalina.sh
+
+sh bin/catalina.sh run

+ 14 - 23
docker/dockerfiles/revit-algorithm/Dockerfile

@@ -1,36 +1,27 @@
 #构建此镜像的基础镜像
-FROM java:8-jre
+FROM tomcat:9.0-jdk8
 #指定作者名称
 MAINTAINER lijie<lijie@persagy.com>
-
-#定义标签属性
 LABEL tier=backend
-LABEL product=adm
-LABEL project=revit-algorithm
+LABEL product=bdtp
+LABEL project=persagy
 LABEL name=revit-algorithm
 
-#设置环境变量
-ENV JAVA_OPTS -Dfile.encoding=UTF-8 -Xms2048m -Xmx2048m
 ENV TZ Asia/Shanghai
-#ARG 可以接收docker build命令中以--build-arg 指定的参数
-ARG WORKER_HOME
+ENV JAVA_OPTS -Dfile.encoding=UTF-8
+ENV JVM "-Xmx2048m -Xms1024m -XX:+UseParallelOldGC -Xloggc:/somewhere/somename.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution"
 
-#执行的命令
-RUN apt-get install -y --no-install-recommends tzdata && rm -rf /var/lib/apt/lists/*
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime	&& echo 'Asia/Shanghai' > /etc/timezone
+RUN apt-get install -y --no-install-recommends tzdata \
+    && rm -rf /var/lib/apt/lists/* \
+    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
+    && echo 'Asia/Shanghai' > /etc/timezone \
+    && rm -rf ./webapps/*
 
-RUN mkdir -p $WORKER_HOME/config
+COPY *.zip .
 
-#复制文件到容器内
-COPY *.jar $WORKER_HOME/app.jar
-COPY entrypoint.sh $WORKER_HOME/
-COPY version.txt $WORKER_HOME/
-COPY config $WORKER_HOME/config
-#设置工作目录
-WORKDIR $WORKER_HOME
+RUN rm -rf ./webapps/* && unzip *.zip -d ./webapps
+RUN mv ./webapps/* ./webapps/ROOT && rm -rf *.zip
 
-#查看上述复制的文件,是否复制成功
-RUN ls
+COPY entrypoint.sh .
 
-#启动执行
 ENTRYPOINT ["sh","./entrypoint.sh"]

+ 15 - 1
docker/dockerfiles/revit-algorithm/entrypoint.sh

@@ -1,3 +1,17 @@
 #!/bin/bash
+
 echo "entrypoint run..."
-java -jar $JAVA_OPTS -Deureka.client.service-url.defaultZone=$EUREKA_CLIENT_DEFAULT_ZONE -Dspring.cloud.config.profile=$SPRING_CLOUD_CONFIG_PROFILE -Dspring.cloud.config.uri=$SPRING_CLOUD_CONFIG_URI app.jar
+
+default_hosts(){
+
+echo "**********************start /etc/hosts*****************************************"
+	cat /etc/hosts
+echo ------------------------end /etc/hosts-----------------------------------------
+}
+
+default_hosts
+
+echo "default-jvm: $JVM"
+sed -i "109i JAVA_OPTS=\"${JVM}\"" ./bin/catalina.sh
+
+sh bin/catalina.sh run

+ 27 - 0
docker/dockerfiles/scanbuilding/Dockerfile

@@ -0,0 +1,27 @@
+#构建此镜像的基础镜像
+FROM tomcat:9.0-jdk8
+#指定作者名称
+MAINTAINER lijie<lijie@persagy.com>
+LABEL tier=backend
+LABEL product=bdtp
+LABEL project=persagy
+LABEL name=scanbuilding
+
+ENV TZ Asia/Shanghai
+ENV JAVA_OPTS -Dfile.encoding=UTF-8
+ENV JVM "-Xmx2048m -Xms1024m -XX:+UseParallelOldGC -Xloggc:/somewhere/somename.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution"
+
+RUN apt-get install -y --no-install-recommends tzdata \
+    && rm -rf /var/lib/apt/lists/* \
+    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
+    && echo 'Asia/Shanghai' > /etc/timezone \
+    && rm -rf ./webapps/*
+
+COPY *.zip .
+
+RUN rm -rf ./webapps/* && unzip *.zip -d ./webapps
+RUN mv ./webapps/* ./webapps/ROOT && rm -rf *.zip
+
+COPY entrypoint.sh .
+
+ENTRYPOINT ["sh","./entrypoint.sh"]

+ 17 - 0
docker/dockerfiles/scanbuilding/entrypoint.sh

@@ -0,0 +1,17 @@
+#!/bin/bash
+
+echo "entrypoint run..."
+
+default_hosts(){
+
+echo "**********************start /etc/hosts*****************************************"
+	cat /etc/hosts
+echo ------------------------end /etc/hosts-----------------------------------------
+}
+
+default_hosts
+
+echo "default-jvm: $JVM"
+sed -i "109i JAVA_OPTS=\"${JVM}\"" ./bin/catalina.sh
+
+sh bin/catalina.sh run

+ 14 - 23
docker/dockerfiles/scheduler/Dockerfile

@@ -1,36 +1,27 @@
 #构建此镜像的基础镜像
-FROM java:8-jre
+FROM tomcat:9.0-jdk8
 #指定作者名称
 MAINTAINER lijie<lijie@persagy.com>
-
-#定义标签属性
 LABEL tier=backend
-LABEL product=adm
-LABEL project=scheduler
+LABEL product=bdtp
+LABEL project=persagy
 LABEL name=scheduler
 
-#设置环境变量
-ENV JAVA_OPTS -Dfile.encoding=UTF-8 -Xms2048m -Xmx2048m
 ENV TZ Asia/Shanghai
-#ARG 可以接收docker build命令中以--build-arg 指定的参数
-ARG WORKER_HOME
+ENV JAVA_OPTS -Dfile.encoding=UTF-8
+ENV JVM "-Xmx2048m -Xms1024m -XX:+UseParallelOldGC -Xloggc:/somewhere/somename.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution"
 
-#执行的命令
-RUN apt-get install -y --no-install-recommends tzdata && rm -rf /var/lib/apt/lists/*
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime	&& echo 'Asia/Shanghai' > /etc/timezone
+RUN apt-get install -y --no-install-recommends tzdata \
+    && rm -rf /var/lib/apt/lists/* \
+    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
+    && echo 'Asia/Shanghai' > /etc/timezone \
+    && rm -rf ./webapps/*
 
-RUN mkdir -p $WORKER_HOME/config
+COPY *.zip .
 
-#复制文件到容器内
-COPY *.jar $WORKER_HOME/app.jar
-COPY entrypoint.sh $WORKER_HOME/
-COPY version.txt $WORKER_HOME/
-COPY config $WORKER_HOME/config
-#设置工作目录
-WORKDIR $WORKER_HOME
+RUN rm -rf ./webapps/* && unzip *.zip -d ./webapps
+RUN mv ./webapps/* ./webapps/ROOT && rm -rf *.zip
 
-#查看上述复制的文件,是否复制成功
-RUN ls
+COPY entrypoint.sh .
 
-#启动执行
 ENTRYPOINT ["sh","./entrypoint.sh"]

+ 15 - 1
docker/dockerfiles/scheduler/entrypoint.sh

@@ -1,3 +1,17 @@
 #!/bin/bash
+
 echo "entrypoint run..."
-java -jar $JAVA_OPTS -Deureka.client.service-url.defaultZone=$EUREKA_CLIENT_DEFAULT_ZONE -Dspring.cloud.config.profile=$SPRING_CLOUD_CONFIG_PROFILE -Dspring.cloud.config.uri=$SPRING_CLOUD_CONFIG_URI app.jar
+
+default_hosts(){
+
+echo "**********************start /etc/hosts*****************************************"
+	cat /etc/hosts
+echo ------------------------end /etc/hosts-----------------------------------------
+}
+
+default_hosts
+
+echo "default-jvm: $JVM"
+sed -i "109i JAVA_OPTS=\"${JVM}\"" ./bin/catalina.sh
+
+sh bin/catalina.sh run