Docker-compose 部署jar包服务

前言

最近有小伙伴来咨询自己的开源项目,我很是激动,但是我没有部署一个线上版本,所以只能让他们拉项目本地跑起来。然后告诉他们那个功能在哪里哪里。所以我准备部署一个线上版本,于是就有了这篇博文,主要做下过程记录。

首先想到的就是java -jar或是nohup java -jar 直接运行jar包,但是总是不愿意使用这种老土的方式。后来查了一些资料,综合考虑下,决定选用docker-compose 来部署我的项目。

Docker-compose简介及安装:https://www.cnblogs.com/ityouknow/p/8648467.html

打包

打包过程遇到了一些坑,这里直接贴一下打包配置插件

<build>
    <!--自定义打包文件名-->
    <finalName>gourd-hu</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
                <!--启动类路径-->
                <mainClass>com.gourd.hu.ServiceHuApplication</mainClass>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

docker-compose.yml

这个自己测试了很多版本,贴一下我测试通过的配置:

version: "3"
services:
  gourd-hu-service:
    # 指定容器名称
    container_name: gourd-hu
    # 重启机制
    restart: always
    image: java:8
    volumes:
      # 本地jar包路径
      - /usr/gourd/gourd-hu/gourd-hu.jar:/gourd-hu.jar
      # 挂载日志 -v A:B ,A指宿主机位置,B指容器位置
      - ./logs:/logs
      # 指定容器时间为宿主机时间
      - /etc/localtime:/etc/localtime
    # 访问端口
    ports:
      - "8088:8088"
    environment:
      # 指定时区
      - TZ="Asia/Shanghai"
    #启动容器后执行的命令
    entrypoint: java -server -Xms256m -Xmx256m -jar -Dserver.port=8088 -Dspring.profiles.active=local gourd-hu.jar

注意点:

- /usr/gourd/gourd-hu/gourd-hu.jar:/gourd-hu.jar  这个挂载需要加,不然启动命令里不能直接使用gourd-hu.jar,启动会报错

- ./logs:/logs  一般需要将log日志挂载出来(: 前面的是宿主机的路径,:后面的是容器内的路径);

不然需要使用命令:doker logs 容器名/ID 查看日志 或者  docker exec -it 容器名称/ID  bash  进入容器内查看日志

启动

  • 新建一个项目目录,将 打好的jar包和 docker-compose.yml 文件上传进去。

  • 使用命令工具(putty 或者 finalshell 都可以) 进入到自己新建的项目路径;
  • 然后 直接使用命令 docker-compose up -d 启动jar包。
  • docker ps 命令查看刚启动的服务,如下说明启动成功。
  •  日志查看,直接到挂载目录 logs下查看日志,也可以使用 docker logs 容器名/ID 查看日志

结语

docker-compose 部署jar包就完成了,如果本文有不对的地方,欢迎指正。最后奉上自己的开源项目,有兴趣的小伙伴可以下载看看。

扫描二维码关注公众号,回复: 9952319 查看本文章

葫芦胡:https://blog.csdn.net/HXNLYW/article/details/98037354

发布了92 篇原创文章 · 获赞 362 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/HXNLYW/article/details/104613163
今日推荐