support docker
This commit is contained in:
17
fizz-bootstrap/Dockerfile
Normal file
17
fizz-bootstrap/Dockerfile
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
FROM java:8
|
||||||
|
|
||||||
|
MAINTAINER fizzgate.com
|
||||||
|
|
||||||
|
ENV APP_HOME_PATH /opt/fizz-gateway-community
|
||||||
|
|
||||||
|
ADD target/fizz-bootstrap-*.jar ${APP_HOME_PATH}/fizz-gateway-community.jar
|
||||||
|
|
||||||
|
COPY sh/boot.sh ${APP_HOME_PATH}/boot.sh
|
||||||
|
COPY sh/docker-entrypoint.sh ${APP_HOME_PATH}/docker-entrypoint.sh
|
||||||
|
RUN chmod +x ${APP_HOME_PATH}/boot.sh
|
||||||
|
|
||||||
|
WORKDIR ${APP_HOME_PATH}
|
||||||
|
|
||||||
|
EXPOSE 8600
|
||||||
|
|
||||||
|
ENTRYPOINT ["/bin/bash", "./docker-entrypoint.sh"]
|
||||||
@@ -39,9 +39,10 @@ fi
|
|||||||
cd `dirname $0`
|
cd `dirname $0`
|
||||||
|
|
||||||
#变量定义
|
#变量定义
|
||||||
APOLLO_META_SERVER=http://localhost:66
|
APOLLO_META_SERVER=${APOLLO_META_SERVER:-http://localhost:66}
|
||||||
#支持 prod/pre/test/dev 4个环境
|
APOLLO_ENV=${APOLLO_ENV:-prod}
|
||||||
ENV=prod
|
#支持 prod/pre/test/dev 4个profiles
|
||||||
|
SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE:-prod}
|
||||||
APP_NAME=fizz-gateway-community.jar
|
APP_NAME=fizz-gateway-community.jar
|
||||||
APP_DEP_DIR="` pwd`"
|
APP_DEP_DIR="` pwd`"
|
||||||
APP_LOG_DIR=${APP_DEP_DIR}'/logs'
|
APP_LOG_DIR=${APP_DEP_DIR}'/logs'
|
||||||
@@ -49,11 +50,6 @@ JAVA_CMD=${JAVA_HOME}'/bin/java'
|
|||||||
PID_FILE="${APP_LOG_DIR}/tpid"
|
PID_FILE="${APP_LOG_DIR}/tpid"
|
||||||
CHECK_COUNT=3
|
CHECK_COUNT=3
|
||||||
|
|
||||||
# 远程执行shell脚本初始化环境变量
|
|
||||||
source '/etc/profile'
|
|
||||||
|
|
||||||
SERVER_IP="` ip a |egrep "brd" |grep inet|awk '{print $2}'|sed 's#/24##g'|head -1`"
|
|
||||||
|
|
||||||
#创建日志目录
|
#创建日志目录
|
||||||
mkdir -p ${APP_LOG_DIR}
|
mkdir -p ${APP_LOG_DIR}
|
||||||
chmod 755 ${APP_LOG_DIR}
|
chmod 755 ${APP_LOG_DIR}
|
||||||
@@ -61,9 +57,9 @@ chmod 755 ${APP_LOG_DIR}
|
|||||||
#进入应用所在目录(虽然都是绝对路径,但有些应用需要进入应用目录才能启动成功)
|
#进入应用所在目录(虽然都是绝对路径,但有些应用需要进入应用目录才能启动成功)
|
||||||
cd ${APP_DEP_DIR}
|
cd ${APP_DEP_DIR}
|
||||||
|
|
||||||
JAVA_OPTS="-Xms256m -Xmx4096m \
|
DEFAULT_JAVA_MEM_OPTS="-Xms256m -Xmx4096m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m"
|
||||||
-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m \
|
|
||||||
-XX:+AggressiveOpts \
|
DEFAULT_JAVA_OPTS="-XX:+AggressiveOpts \
|
||||||
-XX:+UseBiasedLocking \
|
-XX:+UseBiasedLocking \
|
||||||
-XX:+UseG1GC \
|
-XX:+UseG1GC \
|
||||||
-XX:+HeapDumpOnOutOfMemoryError \
|
-XX:+HeapDumpOnOutOfMemoryError \
|
||||||
@@ -81,6 +77,10 @@ JAVA_OPTS="-Xms256m -Xmx4096m \
|
|||||||
-Dio.netty.noPreferDirect=true \
|
-Dio.netty.noPreferDirect=true \
|
||||||
-Dio.netty.noUnsafe=true "
|
-Dio.netty.noUnsafe=true "
|
||||||
|
|
||||||
|
MEM_OPTS=${JAVA_MEM_OPTS:-$DEFAULT_JAVA_MEM_OPTS}
|
||||||
|
|
||||||
|
JAVA_OPTS="$MEM_OPTS $DEFAULT_JAVA_OPTS"
|
||||||
|
|
||||||
#进程状态标识变量,1为存在,0为不存在
|
#进程状态标识变量,1为存在,0为不存在
|
||||||
PID_FLAG=0
|
PID_FLAG=0
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ start() {
|
|||||||
else
|
else
|
||||||
echo "starting $APP_NAME ..."
|
echo "starting $APP_NAME ..."
|
||||||
rm -f ${PID_FILE}
|
rm -f ${PID_FILE}
|
||||||
${JAVA_CMD} -jar ${JAVA_OPTS} -Denv=$ENV -Dspring.profiles.active=$ENV -Dapollo.meta=${APOLLO_META_SERVER} ${APP_DEP_DIR}/${APP_NAME} > ${APP_LOG_DIR}/${APP_NAME}.log 2>&1 &
|
${JAVA_CMD} -jar ${JAVA_OPTS} -Dspring.profiles.active=$SPRING_PROFILES_ACTIVE -Denv=$APOLLO_ENV -Dapollo.meta=${APOLLO_META_SERVER} ${APP_DEP_DIR}/${APP_NAME} > ${APP_LOG_DIR}/${APP_NAME}.log 2>&1 &
|
||||||
echo $! > ${PID_FILE}
|
echo $! > ${PID_FILE}
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
5
fizz-bootstrap/sh/docker-entrypoint.sh
Normal file
5
fizz-bootstrap/sh/docker-entrypoint.sh
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# entrypoint for docker
|
||||||
|
|
||||||
|
/bin/bash ./boot.sh start && touch dummy.log && tail -f dummy.log
|
||||||
Reference in New Issue
Block a user