dockerfile 部署 jar

将jar包 和 Dockerfile文件放在同一个目录
由于我打包的jar里是没有配置文件的,所以我们需要把配置文件也映射到镜像中

# 基础环境镜像 
FROM java:8
# 定义匿名数据卷。在启动容器时忘记挂载数据卷,会自动挂载到匿名卷
VOLUME /tmp
# dockerfile 只能找到和他同级以及下面的文件 所以我们需要将jar 文件放在同目录
# ADD <本地> <容器内> 将 本机的文件,映射到 镜像容器中的位置
ADD ./logConsumer-1.0-SNAPSHOT.jar  /project/logConsumer.jar
ADD ./config/application.yaml /project/config/application.yaml

# WORKDIR 工作路径  将 jar 还有文件放在 镜像容器的 /usr/local/logConsumerDIR 位置下
WORKDIR /usr/local/logConsumerDIR

# 仅仅只是声明端口。
EXPOSE 8080
# 执行的命令 下边文件路径是要在容器中的路径
ENTRYPOINT ["java" ,"-jar","-Dspring.config.location=/project/config/application.yaml","/project/logConsumer.jar"]

执行打包成镜像

# docker build -t 镜像名称  执行dockfile的路径
docker build -t logconsumer . 

image

创建容器

# -v 本地路径:容器中的路径 这里是将容器中日志文件的位置映射到本地
docker run -idt -v /project/logConsumer/logs:/raid/ -p 8080:8080 --name logApp logconsumer

查看容器日志

docker logs -f logApp

image

posted @ 2021-08-06 17:22  秀元  阅读(703)  评论(0)    收藏  举报