当前位置: 代码网 > 服务器>服务器>云虚拟主机 > Docker Compose部署微服务项目上线功能

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

2024年05月23日 云虚拟主机 我要评论
一、需求说明编写一个springboot + redis 的微服务项目,并提供 hello接口,每访问一次接口,计数器+1二、效果图三、项目结构目录说明docker-compose.yml :项目的启

一、需求说明

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

二、效果图

在这里插入图片描述

三、项目结构

在这里插入图片描述

目录说明

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

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

四、核心源码

♻️java依赖与接口

依赖文件

pom.xml

<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/pom/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
         xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelversion>4.0.0</modelversion>
    <parent>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-starter-parent</artifactid>
        <version>2.5.5</version>
        <relativepath/> <!-- lookup parent from repository -->
    </parent>
    <groupid>org.example</groupid>
    <artifactid>demo</artifactid>
    <version>1.0-snapshot</version>

    <dependencies>
        <dependency>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-starter-web</artifactid>
        </dependency>

        <dependency>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-starter-data-redis</artifactid>
            <exclusions>
                <exclusion>
                    <groupid>io.lettuce</groupid>
                    <artifactid>lettuce-core</artifactid>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupid>redis.clients</groupid>
            <artifactid>jedis</artifactid>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupid>org.springframework.boot</groupid>
                <artifactid>spring-boot-maven-plugin</artifactid>
            </plugin>
        </plugins>

        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>libs/</directory>
                <targetpath>libs</targetpath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
        </resources>
    </build>

</project>

接口

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 up

在这里插入图片描述

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

docker ps

在这里插入图片描述

本机进行访问

curl localhost:8080/hello

在这里插入图片描述

⛵小结

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com