######################### phase one ######################### FROM registry.cn-hangzhou.aliyuncs.com/ggcimages/dev-env:maven--3-java-21-debian-bookworm AS compile_stage RUN mkdir /opt/build WORKDIR /opt/build # 复制项目代码到构建目录: /opt/build/pom.xml, /opt/build/src, /opt/build/src/main/java, /opt/build/src/main/resources。 COPY . /opt/build/ # 复制 MAVEN 设置文件到默认的配置目录,如果 settings.xml 依赖源配置失效,注释掉下面 COPY 代码,改用项目中 pom.xml 文件设置的依赖源。 #COPY settings-hz3r.xml /usr/share/maven/conf/settings.xml # 清理 -> 构建 -> 打包, -X 打印调试信息。 RUN mvn clean package -U -DskipTests --color auto #RUN mvn clean package -U -DskipTests --color auto -f pom.jar.xml #RUN mvn clean package -U -DskipTests -X -e --color auto -f pom.jar.xml ######################### phase two ######################### #FROM registry.cn-hangzhou.aliyuncs.com/ggcimages/dev-env:openjdk--21-ea-buster FROM registry.cn-hangzhou.aliyuncs.com/ggcimages/dev-env:eclipse-temurin--21-jre-noble WORKDIR /app ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 TZ=Asia/Shanghai ENV JAVA_OPTS="" ENV APP_NAME='zjjhyiwuyq' ENV LOGS_PATH=/var/log/app/${APP_NAME} LOG_FILE="app" RUN mkdir -p /var/log/app # 应用信息配置 ENV APP_JAR_NAME=business-webapi-1.0.0 ENV PROFILE=dev ENV API_PORT=8100 ENV API_PATH=api # AES 等保要求等安全加密配置 ENV AB_SECRET_KEY==zSuAV19ef1e59B3F884C9B2024920== ENV AB_SECRET_IV=zSUAVPT119ef9f== # 运行配置 ENV SQL_LOGGING_LEVEL=false ENV SQL_AGC_LOGGING_LEVEL=false ENV SQL_SHARE_LOGGING_LEVEL=false ENV REDIS_ENABLED=false ENV REDIS_HOST=172.16.10.109 ENV REDIS_PORT=6379 ENV REDIS_PASSWD='' ENV MYSQL_HOST=172.16.10.109 ENV MYSQL_PORT=3306 ENV MYSQL_USER=zjjhyiwuyq ENV MYSQL_PASSWD=zjjhyiwuyq123456 ENV JOB_SERVER_IP='snail-job.domain.com' ENV JOB_SERVER_PORT=50051 ENV JOB_NAMESPACE=764d604ec6fc45f68cd92514c40e9e1a ENV JOB_GROUP=zjjhyiwuyq_group ENV JOB_TOKEN=SJ_Wyz3dmsdbDOkDujOTSSoBjGQP1BMsVnj ENV JWT_KEY='L3jB6cR1sN5xZ8a' ENV LOCAL_OSS_DIRECTORY='' ENV OSS_BUCKET_NAME='zjjhyiwuyq' ENV OSS_SERVER='http://172.16.10.100:9192/' ENV OSS_ACCESS_KEY='CMBoDkjkRb457oxCj7ys' ENV OSS_ACCESS_SECRET='8uJmULkUFORiTYNfDtj3VBXEwgAgBLNmIYOFi6sN' ENV OSS_PUBLIC_ENTRY='http://zjjhyiwuyq.hz3r.cn/' ENV ENABLE_TASK_PAYMENT=true ENV LD_LIBRARY_PATH /app/lib/linux64/lib:/app/lib/linux64/lib/HCNetSDKCom:${LD_LIBRARY_PATH} # 拷贝依赖库到系统,使用系统默认的加载库路径,在系统的/usr/lib文件中加入你Java工程所需要使用的so文件,然后将HCNetSDKCom文件夹下的组件库也复制到/usr/lib目录,HCNetSDKCom文件夹中的组件库不要随意更换路径进行替换。CentOS 64位需拷贝/usr/lib64下。 COPY ./lib /app/lib COPY --from=compile_stage /opt/build/target/business-webapi-1.0.0.jar . RUN ls -lith | grep business-webapi EXPOSE 8100 ENTRYPOINT [ "sh", "-c", "java -Duser.timezone=GMT+08 \ -DLOGS_PATH=${LOGS_PATH} \ -DSQL_LOGGING_LEVEL=${SQL_LOGGING_LEVEL} \ -DSQL_AGC_LOGGING_LEVEL=${SQL_AGC_LOGGING_LEVEL} \ -DSQL_SHARE_LOGGING_LEVEL=${SQL_SHARE_LOGGING_LEVEL} \ -DREDIS_ENABLED=${REDIS_ENABLED} \ -DREDIS_PORT=${REDIS_PORT} \ -DREDIS_PASSWD=${REDIS_PASSWD} \ -DMYSQL_HOST=${MYSQL_HOST} \ -DMYSQL_PORT=${MYSQL_PORT} \ -DMYSQL_USER=${MYSQL_USER} \ -DMYSQL_PASSWD=${MYSQL_PASSWD} \ -DJOB_SERVER_IP=${JOB_SERVER_IP} \ -DJOB_SERVER_PORT=${JOB_SERVER_PORT} \ -DJOB_NAMESPACE=${JOB_NAMESPACE} \ -DJOB_GROUP=${JOB_GROUP} \ -DJOB_TOKEN=${JOB_TOKEN} \ -DJWT_KEY=${JWT_KEY} \ -DLOCAL_OSS_DIRECTORY=${LOCAL_OSS_DIRECTORY} \ -DOSS_BUCKET_NAME=${OSS_BUCKET_NAME} \ -DOSS_SERVER=${OSS_SERVER} \ -DOSS_ACCESS_KEY=${OSS_ACCESS_KEY} \ -DOSS_ACCESS_SECRET=${OSS_ACCESS_SECRET} \ -DOSS_PUBLIC_ENTRY=${OSS_PUBLIC_ENTRY} \ -DENABLE_TASK_PAYMENT=${ENABLE_TASK_PAYMENT} \ -DAPI_PATH=${API_PATH} \ -DAB_SECRET_KEY=${AB_SECRET_KEY} \ -Dspring.profiles.active=${PROFILE} \ -Dserver.port=${API_PORT} \ -jar /app/${APP_JAR_NAME}.jar " ]