• 使用Docker Compose发布SpringBoot项目


    1、准备一个SpringBoot项目

    (1)我这里使用的是一个简单的SpringBoot+Redis项目,项目代码如下:

    1. import org.springframework.beans.factory.annotation.Autowired;
    2. import org.springframework.data.redis.core.StringRedisTemplate;
    3. import org.springframework.web.bind.annotation.RequestMapping;
    4. import org.springframework.web.bind.annotation.RestController;
    5. @RestController
    6. public class TestController {
    7. @Autowired
    8. StringRedisTemplate redisTemplate;
    9. @RequestMapping("/sayHello")
    10. public String sayHello() {
    11. //使用redis的自增
    12. Long num = redisTemplate.opsForHash().increment("hashValue","num",1);
    13. return "Hello World! This num is: " + num;
    14. }
    15. }

    (2)项目的配置文件application.properties文件的内容如下:

    1. #项目运行接口
    2. server.port=8080
    3. #redis地址
    4. spring.redis.host=redis

    2、编写Dockerfile,我的Dockerfile如下(仅供参考)

    Dockerfile文件的编写可参考我的另一篇文章:https://blog.csdn.net/m0_64284147/article/details/126615039

    1. #基础镜像
    2. FROM java:8
    3. #把当前目录下的jar包拷贝进docker镜像里
    4. COPY *.jar /testcompose.jar
    5. #CMD命令用于指定这个容器启动的时候要运行的命令(CMD一行只执行一个命令,可以写多个CMD)
    6. CMD echo "---server.port=8080---"
    7. #对外暴露8080端口
    8. EXPOSE 8080
    9. #ENTRYPOINT命令用于指定这个容器启动的时候要运行的命令(可以追加命令)
    10. ENTRYPOINT java -jar testcompose.jar

    效果图:

    3、编写docker-compose.yml文件,我的docker-compose.yml如下(仅供参考)

    yml文件的编写可参考我的另一篇文章:https://blog.csdn.net/m0_64284147/article/details/127019515

    1. #Docker Compose的版本
    2. version: '3.8'
    3. #配置我们自己的服务
    4. services:
    5. #服务名称
    6. testcompose:
    7. #跟docker build命令一样,根据Dockerfile创建镜像,.表示当前目录
    8. build: .
    9. #服务的镜像名称
    10. image: testcompose:0.1
    11. #依赖关系:本项目需要redis先启动,项目后启动,所以这时候需要配置依赖关系,如下配置就是让redis服务先启动,然后后testcompose服务才启动
    12. depends_on:
    13. - redis
    14. #当前服务对外暴露的端口
    15. ports:
    16. - "8080:8080"
    17. #服务名称
    18. redis:
    19. #服务的镜像名称
    20. image: "redis:alpine"

    效果图:

    4、使用maven打包项目

    5、把打包好的jar包和Dockerfile、docker-compose.yml文件上传到服务器上(我这里把这三个文件都上传到了根目录下的testcompose文件夹里,具体的文件放置位置按自己喜好或需求来定)

    6、在docker-compose.yml文件所在的目录下执行以下命令

    docker compose up

    效果图:(仅供参考)

    7、另开一个进程访问服务器,在命令行输入以下命令访问docker映射到服务器上的项目接口

    curl http://localhost:8080/sayHello

    效果图: 

    8、从浏览器访问访问docker映射到服务器上的项目接口

    效果图:

    创作不易,如果这篇文章对你有帮助,希望能点个赞帮助文章的推广,如果文章有错漏,希望各位能批评指正,谢谢大家。

  • 相关阅读:
    [分类讨论]Bit Transmission 2022牛客多校第5场 C
    网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持
    每条你收藏的资讯背后,都离不开TA
    如何使用IDEA导入Maven项目
    PAT 1143 Lowest Common Ancestor
    【神印王座】龙皓晨竟然上了头版头条!内容违背,新闻真实性原则
    SwiftUI 如何快速识别视图(View)界面的刷新是由哪个状态的改变导致的?
    DX-11Q信号继电器
    【大数据 - Doris 实践】数据表的基本使用(二):数据划分
    SpringBoot如何自定义拦截器呢?
  • 原文地址:https://blog.csdn.net/m0_64284147/article/details/127040695