在sentinel官方下載jar包即可運行,但是在部署的時候一個一個的啟動jar包很不方便,制作成鏡像方便部署和管理。
1)直接運行
# 修改端口號,默認是8080
java -jar sentinel-dashboard-1.7.0.jar --server.port=9090
2)制作鏡像
准備工作
cd /home/docker/sentinel
ls
sentinel-dashboard-1.7.0.jar
jdk-8u144-linux-x64.tar.gz
vim Dockerfile
FROM centos:7
MAINTAINER pader "bartggg@163.com"
RUN set -x \
&& mkdir -p /opt/sentinel \
&& cd /opt/sentinel \
&& mkdir -p logs \
&& cd logs \
&& touch start.out \
&& ln -sf /dev/stdout start.out \
&& ln -sf /dev/stderr start.out \
&& ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo '$TIME_ZONE' > /etc/timezone \
# 允許掛載該目錄
VOLUME /opt/sentinel/logs
# 添加jdk、sentinel的jar包
ADD jdk-8u144-linux-x64.tar.gz /opt
ADD sentinel-dashboard-1.7.0.jar /opt/sentinel/sentinel-dashboard.jar
# set environment
ENV BASE_DIR="/opt/sentinel" \
JAVA_HOME="/opt/jdk1.8.0_144" \
JAVA="/opt/jdk1.8.0_144/bin/java" \
JVM_XMS="512m" \
JVM_XMX="512m" \
JVM_XMN="256m" \
JVM_MS="32m" \
JVM_MMS="20m" \
TIME_ZONE="Asia/Shanghai" \
SERVER_PORT="8080"
ENV JAVA_OPT="-jar ${BASE_DIR}/sentinel-dashboard.jar -server -Xms=${JVM_XMS} -Xmx=${JVM_XMX} -Xmn=${JVM_XMN} -XX:MetaspaceSize=${JVM_MS} -XX:MaxMetaspaceSize=${JVM_MMS} --server.port=${SERVER_PORT}"
WORKDIR $BASE_DIR
EXPOSE 8080
CMD echo "$JAVA ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out && nohup $JAVA ${JAVA_OPT} >> ${BASE_DIR}/logs/start.out 2>&1 < /dev/null
構建&運行:
docker build -t bart/sentinel:1.7.0 .
# 查看鏡像
docker images
# 運行鏡像
docker run -d \
--name sentinel \
--restart always \
-p 8080:8080 \
-v /home/gwc/docker/sentinel:/opt/sentinel/logs \
bart/sentinel:1.7.0
# 測試
curl http://localhost:8080
# 導出鏡像
docker save -o /home/gwc/docker/sentinel/sentinel.tar bart/sentinel:1.7.0
# 導入鏡像
docker load -i /home/gwc/docker/sentinel/sentinel.tar