Docker Compose部署微服务项目上线功能

一、需求说明

编写一个SpringBoot + Redis 的微服务项目,并提供 hello接口,每访问一次接口,计数器+1

二、效果图

Docker Compose部署微服务项目上线功能_第1张图片

三、项目结构

Docker Compose部署微服务项目上线功能_第2张图片

目录说明

docker-compose.yml :项目的启动文件,配置编排等

Dockerfile:项目上线所需要的依赖,以及启动方式

四、核心源码

♻️Java依赖与接口

依赖文件

pom.xml



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.5.5
         
    
    org.example
    demo
    1.0-SNAPSHOT

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-data-redis
            
                
                    io.lettuce
                    lettuce-core
                
            
        
        
            redis.clients
            jedis
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        

        
            
                src/main/java
                
                    **/*.xml
                
                false
            
            
                src/main/resources
            
            
                libs/
                libs
                
                    **/*.jar
                
            
        
    


接口

HelloController

package com.wanshi.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author whc
 * @date 2022/6/9 10:06
 */
@RestController
public class HelloController {
    @Autowired
    private StringRedisTemplate redisTemplate;
    @GetMapping("/hello")
    public String hello() {
        Long views = redisTemplate.opsForValue().increment("views");
        return "hello, xiaowang, views:" + views;
    }
}

配置文件

application.yml

server:
  port: 8080
spring:
  redis:
    host: redis

♨️Docker相关源码

Dockerfile

FROM java:8
COPY *.jar /app.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]

docker-compose.yml

version: '3.8'
services:
  xiwoangapp:
    build: .
    image: xiaowangapp
    depends_on:
      - redis
    ports:
      - "8080:8080"
  redis:
    image: "redis:3.0.7"

五、部署项目

打包后端项目通过命令

mvn clean package 

jar包与配置文件上传至Linux服务器,新建指定文件夹(通过Filezilla上传文件)

Docker Compose部署微服务项目上线功能_第3张图片

执行命令启动

docker-compose up

Docker Compose部署微服务项目上线功能_第4张图片

部署成功后我们查看服务是否启动

docker ps

在这里插入图片描述

本机进行访问

curl localhost:8080/hello

Docker Compose部署微服务项目上线功能_第5张图片

⛵小结

以上就是【Bug 终结者】对 【云原生】Docker Compose 进阶 – 部署微服务项目上线 的简单介绍 ,Compose 部署项目,实战练习,进阶!

你可能感兴趣的:(Docker Compose部署微服务项目上线功能)