码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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:测试

     

  • 相关阅读:
    .NET Emit 入门教程:第六部分:IL 指令:9:详解 ILGenerator 指令方法:运算操作指令(指令篇结束)
    C++11并发编程-线程的启用与销毁
    抖音返利小程序功能开发介绍
    科技云报道:AI时代,对构建云安全提出了哪些新要求?
    Log4j的原理及应用详解(五)
    云防火墙和传统防火墙区别是什么
    xss-labs靶场1-5关
    【原创】关于表结构更改的大量数据的迁移方案
    机器人控制——PID参数整定
    软件测试中的树莓酱定律
  • 原文地址:https://blog.csdn.net/royal1235/article/details/127594810
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号