# 基于哪个镜像,需要用一个已有的镜像做载体来创建,这里使用的java8镜像,如果大家的docker镜像中没有java8,它就会自动去下载
FROM openjdk:8-jdk-alpine
ARG SENTINEL_VERSION=1.8.6
#创建一个目录存放jar包(在容器里面创建目录)
RUN mkdir -p /sentinel/config
#把本地目录下target文件夹里打好的jar文件添加到容器里,重命名为sentinel-dashboard.jar
COPY /sentinel-dashboard.jar sentinel-dashboard.jar
#添加进入docker容器后的目录
WORKDIR /sentinel/config
#配置项目端口
CMD ["--server.port=8058"]
#设置环境变量。在复杂的使用场景中,我们可能需要使用各种参数启动JVM,这些参数通过ENV命令设置的环境变量传入Java命令
ENV JAVA_OPTS '-Dserver.port=8058 -Dcsp.sentinel.dashboard.server=127.0.0.1:8058'
#对外暴露的端口号
EXPOSE 8058
RUN chmod -R +x /sentinel-dashboard.jar
#运行脚本,启动springboot项目,这里我们指定加载配置文件的位置,并且通过数据卷挂载同步到容器中
ENTRYPOINT ["java","-jar","/sentinel-dashboard.jar","-Dspring.config.location=/sentinel/config/application.properties"]
创建一个Dockerfile 文件 文件内容参考以上 并将springBoot打好的jar包放在linux 的同一个文件夹下
宿主机创建映射文件夹 /sentinel/config 里面放application.properties 指定以这个文件启动
接下去创建镜像 创建一个名称和版本号为sentinel/sentinel-docker-file:0.0.1-SNAPSHOT的镜像
. 点表示以当前文件夹下的Dockerfile 脚本运行
docker build -t sentinel/sentinel-docker-file:0.0.1-SNAPSHOT .
成功
接下去在portainer上创建一个容器
启动成功