java - euraka - 注册中心Dockerfile

1.注册中心Dockerfile

复制代码
FROM java:8
#用于指定传递给构建运行时的变量
ARG JAR_FILE="./fdn-servercenter.jar"
ARG APP_NAME="fdn-servercenter"
ARG DATASOURCE_URL="jdbc:mysql://10.0.0.11:3306/sys-servercenter?autoReconnect=true&autoReconnectForPools=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=Asia/Shanghai"
ARG DATASOURCE_USERNAME="mysql数据库账号"
ARG DATASOURCE_PASSWORD="mysql数据库密码"
ARG RABBITMQ_HOST="rabbitmqIP"
ARG RABBITMQ_VHOST="/qiqiao/prod"   (rabbitmq目录)
ARG RABBITMQ_USERNAME="mqadmin01"   (rabbitmq账号)
ARG RABBITMQ_PASSWORD="Nwff4#vu@kqLPfFdHt"  (rabbitmq密码)
ARG PROFILES="jdbc"
ARG SERVER_PORT=80
ARG DEFAULT_ZONE="http://127.0.0.1:80/eureka"   
# 内存配置
ENV JAVA_OPTS "-Xmx512M -Xss256k"
#启动环境配置
ENV PROFILES $PROFILES
#工作路径
ENV WORK_PATH "/home"
#日志路径
ENV LOG_FILE "logs/app.log"
#服务端口
ENV SERVER_PORT $SERVER_PORT
#应用名称
ENV APP_NAME $APP_NAME
#设置环境变量
ENV DATASOURCE_URL $DATASOURCE_URL
ENV DATASOURCE_USERNAME $DATASOURCE_USERNAME
ENV DATASOURCE_PASSWORD $DATASOURCE_PASSWORD
ENV RABBITMQ_HOST $RABBITMQ_HOST
ENV RABBITMQ_VHOST $RABBITMQ_VHOST
ENV RABBITMQ_USERNAME $RABBITMQ_USERNAME
ENV RABBITMQ_PASSWORD $RABBITMQ_PASSWORD
ENV DEFAULT_ZONE $DEFAULT_ZONE
ENV EUREKA_INSTANCE_HOSTNAME $EUREKA_INSTANCE_HOSTNAME
#设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#用于指定持久化目录
#VOLUME /tmp
#指定于外界交互的端口
EXPOSE ${SERVER_PORT}
ADD ${JAR_FILE} ${WORK_PATH}/app.jar
RUN sh -c 'touch ${WORK_PATH}/app.jar'
#配置容器,使其可执行化
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar $WORK_PATH/app.jar --spring.profiles.active=$PROFILES --logging.file=$LOG_FILE --spring.application.name=$APP_NAME --server.port=$SERVER_PORT --spring.datasource.url=$DATASOURCE_URL --spring.datasource.username=$DATASOURCE_USERNAME --spring.datasource.password=$DATASOURCE_PASSWORD --spring.rabbitmq.host=$RABBITMQ_HOST --spring.rabbitmq.virtual-host=$RABBITMQ_VHOST --spring.rabbitmq.username=$RABBITMQ_USERNAME --spring.rabbitmq.password=$RABBITMQ_PASSWORD --server.context-path=/ --eureka.client.registryFetchIntervalSeconds=5 --eureka.client.register-with-eureka=false --eureka.client.fetch-registry=false --eureka.client.serviceUrl.defaultZone=$DEFAULT_ZONE --eureka.server.waitTimeInMsWhenSyncEmpty=0 --eureka.server.enableSelfPreservation=false --eureka.instance.prefer-ip-address=false --eureka.instance.hostname=$EUREKA_INSTANCE_HOSTNAME --security.basic.enabled=false" ]
复制代码

 

posted @   littlevigra  阅读(140)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
历史上的今天:
2020-01-04 sidecar收集Tomcat日志-普通用户
2019-01-04 keystore
点击右上角即可分享
微信分享提示