docker修改为普通用户,文件统一存放到home目录

This commit is contained in:
三丙
2024-11-22 15:30:20 +08:00
parent 6f078284ea
commit c23b25e6c5
8 changed files with 35 additions and 38 deletions

View File

@@ -16,7 +16,9 @@ RUN java -Djarmode=tools -jar application.jar extract --layers --destination ext
# 执行 # 执行
FROM registry.cn-hangzhou.aliyuncs.com/sanbing/openjdk:21-jdk-slim-bullseye FROM registry.cn-hangzhou.aliyuncs.com/sanbing/openjdk:21-jdk-slim-bullseye
WORKDIR /app RUN useradd -m sanbing
WORKDIR /home/sanbing
COPY --from=builder /app/extracted/dependencies/ ./ COPY --from=builder /app/extracted/dependencies/ ./
COPY --from=builder /app/extracted/spring-boot-loader/ ./ COPY --from=builder /app/extracted/spring-boot-loader/ ./
COPY --from=builder /app/extracted/snapshot-dependencies/ ./ COPY --from=builder /app/extracted/snapshot-dependencies/ ./
@@ -24,22 +26,18 @@ COPY --from=builder /app/extracted/application/ ./
COPY --from=base /app/jcpp-app-bootstrap/target/conf ./config COPY --from=base /app/jcpp-app-bootstrap/target/conf ./config
COPY --from=base /app/docker/start.sh . COPY --from=base /app/docker/start.sh .
RUN mkdir -p /var/log/sanbing && \ RUN chmod a+x start.sh && \
mkdir -p /var/log/sanbing/jcpp && \ mkdir -p /home/sanbing/logs/jcpp && \
mkdir -p /var/log/sanbing/accesslog && \ mkdir -p /home/sanbing/logs/accesslog && \
mkdir -p /var/log/sanbing/gc && \ mkdir -p /home/sanbing/logs/gc && \
mkdir -p /var/log/sanbing/heapdump && \ mkdir -p /home/sanbing/logs/heapdump && \
chown -R sanbing:sanbing /tmp \ chmod 700 -R /home/sanbing/logs/* && \
chmod 700 -R /var/log/* chown -R sanbing:sanbing /home/sanbing
RUN chmod a+x *.sh && mv start.sh /usr/bin
EXPOSE 8080 8080 EXPOSE 8080 8080
USER sanbing
ENV APP_LOG_LEVEL=INFO ENV APP_LOG_LEVEL=INFO
ENV PROTOCOLS_LOG_LEVEL=INFO ENV PROTOCOLS_LOG_LEVEL=INFO
CMD ["start.sh"] USER sanbing
CMD ["/bin/bash", "start.sh"]

View File

@@ -16,29 +16,28 @@ RUN java -Djarmode=tools -jar application.jar extract --layers --destination ext
# 执行 # 执行
FROM registry.cn-hangzhou.aliyuncs.com/sanbing/openjdk:21-jdk-slim-bullseye FROM registry.cn-hangzhou.aliyuncs.com/sanbing/openjdk:21-jdk-slim-bullseye
WORKDIR /app RUN useradd -m sanbing
WORKDIR /home/sanbing
COPY --from=builder /app/extracted/dependencies/ ./ COPY --from=builder /app/extracted/dependencies/ ./
COPY --from=builder /app/extracted/spring-boot-loader/ ./ COPY --from=builder /app/extracted/spring-boot-loader/ ./
COPY --from=builder /app/extracted/snapshot-dependencies/ ./ COPY --from=builder /app/extracted/snapshot-dependencies/ ./
COPY --from=builder /app/extracted/application/ ./ COPY --from=builder /app/extracted/application/ ./
COPY --from=base /app/jcpp-protocol-bootstrap/target/conf ./config COPY --from=base /app/jcpp-app-bootstrap/target/conf ./config
COPY --from=base /app/docker/start.sh . COPY --from=base /app/docker/start.sh .
RUN mkdir -p /var/log/sanbing && \ RUN chmod a+x start.sh && \
mkdir -p /var/log/sanbing/jcpp && \ mkdir -p /home/sanbing/logs/jcpp && \
mkdir -p /var/log/sanbing/accesslog && \ mkdir -p /home/sanbing/logs/accesslog && \
mkdir -p /var/log/sanbing/gc && \ mkdir -p /home/sanbing/logs/gc && \
mkdir -p /var/log/sanbing/heapdump && \ mkdir -p /home/sanbing/logs/heapdump && \
chown -R sanbing:sanbing /tmp \ chmod 700 -R /home/sanbing/logs/* && \
chmod 700 -R /var/log/* chown -R sanbing:sanbing /home/sanbing
RUN chmod a+x *.sh && mv start.sh /usr/bin EXPOSE 8080 8080
EXPOSE 8081 8081
USER sanbing
ENV PROTOCOLS_LOG_LEVEL=INFO ENV PROTOCOLS_LOG_LEVEL=INFO
CMD ["start.sh"] USER sanbing
CMD ["/bin/bash", "start.sh"]

View File

@@ -7,15 +7,15 @@
echo "Starting Server ..." echo "Starting Server ..."
export JAVA_APP_OPTS="-XX:+UseContainerSupport -XX:InitialRAMPercentage=10 -XX:MaxRAMPercentage=70 \ export JAVA_APP_OPTS="-XX:+UseContainerSupport -XX:InitialRAMPercentage=10 -XX:MaxRAMPercentage=70 \
-Xlog:gc*,heap*,age*,safepoint=debug:file=/var/log/sanbing/gc/gc.log:time,uptime,level,tags:filecount=10,filesize=10M \ -Xlog:gc*,heap*,age*,safepoint=debug:file=/home/sanbing/logs/gc/gc.log:time,uptime,level,tags:filecount=10,filesize=10M \
-XX:+HeapDumpOnOutOfMemoryError \ -XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=/var/log/sanbing/heapdump/ \ -XX:HeapDumpPath=/home/sanbing/logs/heapdump/ \
-XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark \ -XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark \
-XX:+UseG1GC -XX:MaxGCPauseMillis=500 -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:MaxTenuringThreshold=10 \ -XX:+UseG1GC -XX:MaxGCPauseMillis=500 -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:MaxTenuringThreshold=10 \
-Xss512k -XX:G1ReservePercent=20 \ -Xss512k -XX:G1ReservePercent=20 \
-XX:-OmitStackTraceInFastThrow \ -XX:-OmitStackTraceInFastThrow \
-Dlogging.config=/app/config/log4j2.xml" -Dlogging.config=/home/sanbing/config/log4j2.xml"
#export JAVA_OPTS_EXTEND="-Xdebug -Xrunjdwp:transport=dt_socket,address=0.0.0.0:8000,server=y,suspend=n" #export JAVA_OPTS_EXTEND="-Xdebug -Xrunjdwp:transport=dt_socket,address=0.0.0.0:8000,server=y,suspend=n"
exec java $JAVA_APP_OPTS $JAVA_OPTS_EXTEND $JAVA_OPTS -Dnetworkaddress.cache.ttl=60 -jar /app/application.jar exec java $JAVA_APP_OPTS $JAVA_OPTS_EXTEND $JAVA_OPTS -Dnetworkaddress.cache.ttl=60 -jar application.jar

View File

@@ -12,7 +12,7 @@
accesslog: accesslog:
enabled: true enabled: true
pattern: "%t %a %r %s (%D ms)" pattern: "%t %a %r %s (%D ms)"
dir: /var/log/sanbing/accesslog dir: logs/accesslog
options: options:
server: server:
record-request-start-time: true record-request-start-time: true

View File

@@ -2,7 +2,7 @@
<configuration status="INFO" monitorInterval="30"> <configuration status="INFO" monitorInterval="30">
<properties> <properties>
<Property name="LOG_DIR">/var/log/sanbing/jcpp</Property> <Property name="LOG_DIR">/home/sanbing/logs/jcpp</Property>
<Property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss:SSS} [%X{TRACE_ID}] [%t] %p %c{1} %m%n%throwable</Property> <Property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss:SSS} [%X{TRACE_ID}] [%t] %p %c{1} %m%n%throwable</Property>
</properties> </properties>

View File

@@ -2,7 +2,7 @@
<configuration status="INFO" monitorInterval="30"> <configuration status="INFO" monitorInterval="30">
<properties> <properties>
<Property name="LOG_DIR">/var/log/sanbing/jcpp</Property> <Property name="LOG_DIR">/home/sanbing/logs/jcpp</Property>
<Property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss:SSS} [%X{TRACE_ID}] [%t] %p %c{1} %m%n%throwable</Property> <Property name="LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss:SSS} [%X{TRACE_ID}] [%t] %p %c{1} %m%n%throwable</Property>
</properties> </properties>

View File

@@ -12,7 +12,7 @@
accesslog: accesslog:
enabled: true enabled: true
pattern: "%t %a %r %s (%D ms)" pattern: "%t %a %r %s (%D ms)"
dir: /var/log/sanbing/accesslog dir: logs/accesslog
options: options:
server: server:
record-request-start-time: true record-request-start-time: true

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.3</version> <version>3.3.5</version>
<relativePath/> <!-- lookup parent from repository --> <relativePath/> <!-- lookup parent from repository -->
</parent> </parent>
<groupId>sanbing</groupId> <groupId>sanbing</groupId>