https://github.com/steventong/sofa-registry-docker/blob/master/Dockerfile
创建DockerfileFROM adoptopenjdk/openjdk8:jdk8u262-b10-alpine
WORKDIR /tmp/build
RUN apk update &&
apk upgrade &&
apk add git maven curl
RUN wget https://github.com/sofastack/sofa-registry/releases/download/v5.4.2/registry-integration-fix.tgz
RUN mkdir /sofa-registry && tar -zxvf registry-integration-fix.tgz -C /sofa-registry
RUN cd /sofa-registry && ls
ENV APP_NAME="integration"
ENV base_DIR="/sofa-registry"
ENV APP_JAR="${base_DIR}/registry-${APP_NAME}.jar"
RUN echo "APP_JAR is $APP_JAR"
# app conf
ENV JAVA_OPTS="$JAVA_OPTS -Dregistry.${APP_NAME}.home=${base_DIR}"
ENV JAVA_OPTS="$JAVA_OPTS -Dspring.config.location=${base_DIR}/conf/application.properties"
# set user.home
ENV JAVA_OPTS="$JAVA_OPTS -Duser.home=${base_DIR}"
# springboot conf
ENV SPRINGBOOT_OPTS="${SPRINGBOOT_OPTS} --logging.config=${base_DIR}/conf/logback-spring.xml"
# heap size
ENV HEAP_MAX=512
ENV HEAP_NEW=256
ENV JAVA_OPTS="$JAVA_OPTS -server -Xms${HEAP_MAX}m -Xmx${HEAP_MAX}m -Xmn${HEAP_NEW}m -Xss256k"
# gc option
RUN mkdir -p "${base_DIR}/logs"
ENV JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:${base_DIR}/logs/registry-${APP_NAME}-gc.log -verbose:gc"
ENV JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumponOutOfMemoryError -XX:HeapDumpPath=${base_DIR}/logs -XX:ErrorFile=${base_DIR}/logs/registry-${APP_NAME}-hs_err_pid%p.log"
ENV JAVA_OPTS="$JAVA_OPTS -XX:-OmitStackTraceInFastThrow -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ParallelGCThreads=4"
ENV JAVA_OPTS="$JAVA_OPTS -XX:+CMSClassUnloadingEnabled -XX:+UseCMSInitiatingOccupancyonly -XX:CMSInitiatingOccupancyFraction=70"
# rm raftData
RUN rm -rf ${base_DIR}/raftData/
# start
RUN echo "Command: java ${JAVA_OPTS} -jar ${APP_JAR} ${SPRINGBOOT_OPTS}"
RUN java ${JAVA_OPTS} -jar ${APP_JAR} ${SPRINGBOOT_OPTS} >> "$STD_OUT" 2>&1 &
EXPOSE 9615 9622 9603
ENTRYPOINT [ "sh", "-c", "exec java ${JAVA_OPTS} -jar ${APP_JAR} ${SPRINGBOOT_OPTS}" ]
制作镜像
docker build -t sofa-registry:5.4.2 .启动容器
docker run -dti --privileged=true --name=sofa-registry -p 9615:9615 -p 9622:9622 -p 9603:9603 -v /mnt/c/apphome/sofa-registry/logs:/sofa-registry/logs sofa-registry:5.4.2



