centos7使用Dockerfile(docker-compose)运行jar包

 

 

Dockerfile文件

 

复制代码
FROM openjdk:8-jdk-alpine

MAINTAINER "镜像维护者的姓名和邮箱地址"

WORKDIR app

ADD demo.jar /app/demo.jar

ENV TIME_ZONE=Asia/Shanghai 
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE >  /etc/timezone

EXPOSE 8081

CMD java -jar  -Xms512M -Xmx512M -Duser.timezone=GMT+8 /app/demo.jar
复制代码

 

 如果需要改变配置环境 使用

--spring.profiles.active=test

 

 

demo.jar是运行的jar包的名字,根据自己的来

EXPOSE 后面的端口跟jar包启动的端口即可

 

然后把运行的demo.jar放到和Dockerfile放在同一个目录下

 

 

 

然后执行

docker build -t mydemo:1.0 .

说明:docker build -t 新镜像名字:TAG .

 

打印

复制代码
Sending build context to Docker daemon  17.29MB
Step 1/6 : FROM openjdk:8-jdk-alpine
 ---> a3562aa0b991
Step 2/6 : MAINTAINER "镜像维护者的姓名和邮箱地址"
 ---> Using cache
 ---> 16e8e339e102
Step 3/6 : WORKDIR app
 ---> Using cache
 ---> 995ea3982a9b
Step 4/6 : ADD demo.jar /app/demo.jar
 ---> Using cache
 ---> 6126614408ad
Step 5/6 : EXPOSE 8881
 ---> Using cache
 ---> 2460834128af
Step 6/6 : CMD java -jar /app/demo.jar
 ---> Using cache
 ---> 0206019397cb
Successfully built 0206019397cb
Successfully tagged mydemo:1.0
复制代码

 

使用

docker images

 

 

运行镜像

docker run -dp 8080:8881 mydemo:1.0

 

 docker-compose.yml文件

也可以直接使用docker-compose直接启动

复制代码
version: '3'
services:
  mydemo:
    build:
      context: .  #Dockerfile 所在目录
      dockerfile: Dockerfile 
    image: file-server  #镜像名称
    restart: unless-stopped
    network_mode: "host"
    privileged: true
    container_name: file-server  #容器名称
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /logs:/logs
    ports:
      - 8080:8080
复制代码

 

 

不使用Dockerfile方式

复制代码
version: '3'
services:
  mydemo:
    image: primetoninc/jdk:1.8
    ports:
      - 8080:8080
    restart: "always"
    network_mode: "host"
    environment:
      TZ: Asia/Shanghai
    container_name: my-demo
    volumes:  
      - /data/mydemo:/home/mydemo
      - /data/mydemo/logs:/logs
      - /etc/localtime:/etc/localtime
    entrypoint: java -Dspring.profiles.active=prod -Xms512m -Xmx512m  -jar /home/mydemo/mydemo-0.0.1.jar
复制代码

 

这种方式只是使用了容器环境,然后把jar路径挂载出来,替换jar包不用重新生成镜像,直接重启容器即可

 

posted @   yvioo  阅读(1632)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示