准备工作
sentinel-dashboard.jar
jdk-8u11-linux-x64.tar.gz
1.创建jar文件夹
mkdir jar
2.在jar文件夹下创建1.8.1文件夹
mkdir 1.8.1
3.将sentinel-dashboard.jar放到1.8.1文件夹下
4.将jdk-8u11-linux-x64.tar.gz放在与jar文件夹同级的目录下
5.编写Dockerfile文件
vim Dockerfile
6.Dockerfile文件内容如下
FROM centos:7.9.2009
MAINTAINER kim "xxx@163.com"
RUN set -x \
&& mkdir -p /data/sentinel \
&& cd /data/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 &$TIME_ZONE' > /etc/timezone \
# 允许挂载该目录
VOLUME /data/sentinel/logs
# 添加jdk、sentinel的jar包
ADD jdk-8u11-linux-x64.tar.gz /usr/local
ADD ./jar/1.8.1/sentinel-dashboard.jar /data/sentinel-dashboard/sentinel-dashboard.jar
# set environment
ENV BASE_DIR="/data/sentinel" \
JAVA_HOME="/usr/local/jdk1.8.0_11" \
JAVA="/usr/local/jdk1.8.0_11/bin/java" \
JVM_XMS="512m" \
JVM_XMX="512m" \
JVM_XMN="256m" \
TIME_ZONE="Asia/Shanghai" \
SERVER_PORT="8080"
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
7.构建镜像(注意:后边有一个点)
docker build -t sentinel-dashboard:1.8.1 .
8.编写docker-compose-sentinel.yml,docker-compose启动
version: '3'
services:
sentinel:
image: sentinel-dashboard:1.8.1
container_name: sentinel
restart: always
volumes:
- /data/sentinel-dashboard-docker/logs:/data/sentinel/logs
ports:
- "8718:8080"
- "8719:8719"