Docker部署springboot项目

本文详细描述了如何在云服务器上,通过Maven打包Java代码并构建Docker镜像,使用Dockerfile定义镜像构建过程,以及使用docker-compose进行服务管理和部署。最终实现了JavaSpringBoot应用的运行与测试。
摘要由CSDN通过智能技术生成

在云服务器上安装docker容器,记录完成一个docker部署

1.打包

首先将自己写好的接口打包,通过Maven中生命周期中的package将java代码打包。在产生的target文件夹中生成一个jar文件。

2.新建Dockerfile文件

在target文件夹中新建Dockerfile文件

FROM eclipse-temurin:17-jdk-alpine
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
EXPOSE 7770
VOLUME /tmp
ARG JAR_FILE
COPY *.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

其中我的java版本是17,7770是我application.yml中配置的端口号

3.文件传输

将打包的jar文件和Dockerfile文件通过MobaXterm传输给自己的云服务器上。

我的文件放在云服务器中的/opt目录下,在/opt中创建项目文件夹javademo,将打包的jar文件和Dockerfile文件放在javademo目录下。

4.创建工程

需要进到javademo目录下,通过命令创建。

$ docker build -t javaspringdemo:v1.2 .

--打包jar文件为docker镜像文件。

--javaspringdemo 镜像的名字

-- 冒号后面的是版本号 v1.2

-- 最后面有个点

5.创建yml文件

在opt目录下创建docker-compose-javademo.yml文件,注意yml格式

docker-compose-javademo.yml

version: '3.9'
services:     
  javaspringboot:               #服务名称
    hostname: javaspringboot    #服务指定主机名称
    image: javaspringdemo:v1.2  #镜像名称:镜像版本
    environment:                #环境变量             
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8  
    ports:                      #端口号       
      - "8008:7770"
    networks:                   #网络, 这个服务所使用的是哪个网络
      - middleware  
networks:                       #设置服务的网络名字
  middleware:
    external: true
    name: macrowing

此yml文件可以添加多个模块

--8008为部署完访问的端口号,映射本地的7770

启动命令

$ docker stack deploy -c docker-compose-javademo.yml  javaspringboot

注:yml在opt目录下,则需要返回opt目录下执行命令

至此项目启动成功

6.查看状态与测试

列出所有运行的docker服务

$ docker service ls

image.png


可以看到已经启动成功


 

列出所有标签名称

$ docker stack ls

查看服务的日志运行情况

$ docker service logs -f javaspringboot_javaspringboot

测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值