(三)docker:Dockerfile构建容器运行jar包

  1. 目录结构以及准备的文件
├── dockerfile
│   ├── Dockerfile
│   ├── application.properties
│   ├── demo.jar
│   └── jdk-17.0.9-linux-x64.tar.gz

2.Dockerfile内容

FROM ubuntu:latest
# JDK存放处
ENV JAVA_DIR=/home
# 拷贝本地jdk到容器home目录下
COPY ./jdk-17.0.9-linux-x64.tar.gz $JAVA_DIR/
# 拷贝本地的java jar包到home目录下
COPY ./demo.jar $JAVA_DIR/
# 拷贝本地的配置文件到home目录下
COPY ./application.properties $JAVA_DIR/
# 进入home目录,解压压缩包,重命名,授予执行权限
RUN cd $JAVA_DIR \ 
&& tar -xf ./jdk-17.0.9-linux-x64.tar.gz \ 
&& mv jdk-17.0.9+8 jdk17 \
&& chmod 775 $JAVA_DIR/demo.jar
# 指定java所在目录 在linux里是export
ENV JAVA_HOME=$JAVA_DIR/jdk17
# 把java的路径设置到path里
ENV PATH=$PATH:$JAVA_HOME/bin
# java jar包启动,指定配置文件,当数据库改变时,可以通过docker cp ./application.properties d74cfda839f6:/home/application.properties将需要的配置文件拷贝到容器里
ENTRYPOINT ["java","-Dspring.config.location=/home/application.properties", "-jar", "/home/demo.jar"]

3.构建镜像

docker run --name appv1 -d app:v1

4.查看生成镜像

sixdog@sixiaodong jarExcute % docker images
REPOSITORY        TAG         IMAGE ID       CREATED         SIZE
app               v1          31ad2f4bba78   9 minutes ago   655MB

5.创建并运行容器

docker run --name app -p 8081:8081 -d app:v1

6.查看创建的容器

sixdog@sixiaodong jarExcute % docker ps -a                                           
CONTAINER ID   IMAGE                       COMMAND                   CREATED         STATUS                      PORTS                               NAMES
d74cfda839f6   app:v1                      "java -Dspring.confi…"   7 minutes ago   Up 7 minutes                0.0.0.0:8081->8081/tcp              app

7.启动画面确认
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值