docker-compose 部署运行jar

记录下自己通过docker-compose运行jar的心路历程,参考过很多其他人的资料

1、安装docker

我使用的是centos7 用yum安装这个很快

2、docker-compose安装

curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose


sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

通过以上三个命令可以将docker-compose安装完成,docker-compose版本和docker版本需要匹配。

有些博客说要找不到docker-compose取别名 ,在此提醒千万不要这样搞,浪费了我大量时间来解决运行docker-compose build 命令 找不到docker-compose.yml的异常。

3、配置docker-compose.yml

docker-compose.yml记得放在jar的同级或者父级。

网上有些配置写的有些复杂,我这里就用了最简单的:

version: "3.8"
services:
  heart:
    build:
      context: ./heart #Dockerfile的目录
    network_mode: host
    restart: always
    container_name: heart
    hostname: heart
    image: heart
    volumes: #如果上传文件保存在本地需要进行地址映射
      - /home/heart/:/home/heart/

version要注意和docker版本匹配

这里想说的就是,如果上传的文件是保留在本地,没有使用文件服务器,那么就要注意需要配置

    volumes: #如果上传文件保存在本地需要进行地址映射
      - /home/heart/:/home/heart/

这个,没有配置上传的文件都是保存在docker容器内部,会导致找不到文件的发生,所以需要映射到宿主机上的具体地址。

4、Dockerfile编写

进入jar所在目录,编写如下Dockerfile

FROM openjdk:8

ENV TZ=Asia/Shanghai

RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN mkdir -p /heart

WORKDIR /heart

EXPOSE 8090

ADD ./heart-business.jar ./

CMD java -jar heart-business.jar -Xmx512m  --spring.profiles.active=test

如果碰到权限问题还需要给文件赋权。

--spring.profiles.active=test 主要是如果有配置2套环境配置,在测试服务器上就要指定好环境,不然本地打包的时候老是需要来换切换配置 很少麻烦,这里配置后,本地就不用切换了。

5、运动docker-compose命令

最后运行 docker-compose build heart 和 docker-compose up -d heart 命令来启动jar。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值