• docker实战学习2022版本(六)之Dockerfile整合微服务实战


    需求:通过idea新建一个普通微服务模块;然后通过Dockerfile发布微服务部署到docker容器

    step1:新建一个springboot项目,添加依赖

    1. org.springframework.boot
    2. spring-boot-starter-web
    3. org.springframework.boot
    4. spring-boot-starter-actuator
    5. org.springframework.boot
    6. spring-boot-starter-test
    7. test

    step2:编写controller逻辑

    1. package com.ansheng.docker_boot.controller;
    2. import org.springframework.beans.factory.annotation.Value;
    3. import org.springframework.web.bind.annotation.RequestMapping;
    4. import org.springframework.web.bind.annotation.RequestMethod;
    5. import org.springframework.web.bind.annotation.RestController;
    6. import java.util.UUID;
    7. @RestController
    8. public class OrderController {
    9. @Value("${server.port}")
    10. private String port;
    11. @RequestMapping("/order/docker")
    12. public String helloDocker()
    13. {
    14. return "hello docker"+"\t"+port+"\t"+ UUID.randomUUID().toString();
    15. }
    16. @RequestMapping(value ="/order/index",method = RequestMethod.GET)
    17. public String index()
    18. {
    19. return "服务端口号: "+"\t"+port+"\t"+UUID.randomUUID().toString();
    20. }
    21. }

     ​​​​​​​源代码已上传码云https://gitee.com/vancl/docker_bootx.git

    step3:本地启动服务验证程序可行性

     

     step4:将本项目通过maven packge打包

      step5:将打成的jar包上传到阿里云服务器mydocker文件夹中

       step6:在jar包统一文件夹下编写Dockerfile

    1. # 基础镜像使用java
    2. FROM java:8
    3. # 作者
    4. MAINTAINER hanansheng
    5. # VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
    6. VOLUME /tmp
    7. # 将jar包添加到容器中并更名为hanansheng_docker.jar
    8. ADD docker_boot-0.0.1-SNAPSHOT.jar hanansheng_docker.jar
    9. # 运行jar包
    10. RUN bash -c 'touch /hanansheng_docker.jar'
    11. ENTRYPOINT ["java","-jar","/hanansheng_docker.jar"]
    12. #暴露6001端口作为微服务
    13. EXPOSE 6001

       step7:构建镜像

    docker build -t hanansheng_docker:1.6 .

        step8:运行容器

    docker run -d -p 6001:6001 dbc6b18cba4d

         step9:测试

     

  • 相关阅读:
    redis分布式锁的原子保证
    [word] 怎么把word表格里的字放在正中间? #职场发展#知识分享#知识分享
    Docker介绍及其常用命令
    自定义Docker镜像--Jupyterlab
    【数组】灯泡开关 Ⅱ
    vim相关介绍(二)
    3、IO流之字节流和字符流
    【python学习】基础篇-常用第三方库-chardet:检测文本文件的编码格式
    element form表单动态添加新增一行
    中国港口年鉴2019(EXCEL版)
  • 原文地址:https://blog.csdn.net/royal1235/article/details/127594810