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
WORKDIR /app
RUN useradd -m sanbing
WORKDIR /home/sanbing
COPY --from=builder /app/extracted/dependencies/ ./
COPY --from=builder /app/extracted/spring-boot-loader/ ./
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/docker/start.sh .
RUN mkdir -p /var/log/sanbing && \
mkdir -p /var/log/sanbing/jcpp && \
mkdir -p /var/log/sanbing/accesslog && \
mkdir -p /var/log/sanbing/gc && \
mkdir -p /var/log/sanbing/heapdump && \
chown -R sanbing:sanbing /tmp \
chmod 700 -R /var/log/*
RUN chmod a+x *.sh && mv start.sh /usr/bin
RUN chmod a+x start.sh && \
mkdir -p /home/sanbing/logs/jcpp && \
mkdir -p /home/sanbing/logs/accesslog && \
mkdir -p /home/sanbing/logs/gc && \
mkdir -p /home/sanbing/logs/heapdump && \
chmod 700 -R /home/sanbing/logs/* && \
chown -R sanbing:sanbing /home/sanbing
EXPOSE 8080 8080
USER sanbing
ENV APP_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
WORKDIR /app
RUN useradd -m sanbing
WORKDIR /home/sanbing
COPY --from=builder /app/extracted/dependencies/ ./
COPY --from=builder /app/extracted/spring-boot-loader/ ./
COPY --from=builder /app/extracted/snapshot-dependencies/ ./
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 .
RUN mkdir -p /var/log/sanbing && \
mkdir -p /var/log/sanbing/jcpp && \
mkdir -p /var/log/sanbing/accesslog && \
mkdir -p /var/log/sanbing/gc && \
mkdir -p /var/log/sanbing/heapdump && \
chown -R sanbing:sanbing /tmp \
chmod 700 -R /var/log/*
RUN chmod a+x start.sh && \
mkdir -p /home/sanbing/logs/jcpp && \
mkdir -p /home/sanbing/logs/accesslog && \
mkdir -p /home/sanbing/logs/gc && \
mkdir -p /home/sanbing/logs/heapdump && \
chmod 700 -R /home/sanbing/logs/* && \
chown -R sanbing:sanbing /home/sanbing
RUN chmod a+x *.sh && mv start.sh /usr/bin
EXPOSE 8081 8081
USER sanbing
EXPOSE 8080 8080
ENV PROTOCOLS_LOG_LEVEL=INFO
CMD ["start.sh"]
USER sanbing
CMD ["/bin/bash", "start.sh"]

View File

@@ -7,15 +7,15 @@
echo "Starting Server ..."
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:HeapDumpPath=/var/log/sanbing/heapdump/ \
-XX:HeapDumpPath=/home/sanbing/logs/heapdump/ \
-XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem -XX:+UseCondCardMark \
-XX:+UseG1GC -XX:MaxGCPauseMillis=500 -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:MaxTenuringThreshold=10 \
-Xss512k -XX:G1ReservePercent=20 \
-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"
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:
enabled: true
pattern: "%t %a %r %s (%D ms)"
dir: /var/log/sanbing/accesslog
dir: logs/accesslog
options:
server:
record-request-start-time: true

View File

@@ -2,7 +2,7 @@
<configuration status="INFO" monitorInterval="30">
<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>
</properties>

View File

@@ -2,7 +2,7 @@
<configuration status="INFO" monitorInterval="30">
<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>
</properties>

View File

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

View File

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