新手小白学习docker第十弹-------Docker微服务实战

news/2025/2/25 7:49:09/

目录

  • 0 引言
  • 1 IDEA创建微服务
    • 1.1 IDEA配置maven3.9
    • 1.2 新建项目docker_serve
    • 1.3 编写docker_serve代码
    • 1.4 启动项目
    • 1.5 打包项目
    • 1.6 上传项目到虚拟机
  • 2 部署到docker容器
    • 2.1 编写Dockerfile
    • 2.2 构建镜像
    • 2.3 运行容器
    • 2.4 访问测试
  • 3 后记

0 引言

真的,这个看着就好难,每次打算写这个的时候,都犯难就是不想写了,硬生生的拖到现在,还是得写,加油吧!

反正都得写都得学

1 IDEA创建微服务

通过IDEA新建一个普通微服务模块,就是说有一个spring boot的项目,可以运行的,这里浅浅的给一下,欢迎观看和实操哟~因为我也是现搞出来的,刚出炉,还热乎着呢,别以为就几个图,我遇到了好些问题,不过还是解决了,我太厉害了!

1.1 IDEA配置maven3.9

首先,咱们肯定要先会使用IDEA,IDEA配置maven,看我另一篇博客,包学会和能使用的IDEA配置MAVEN3.9版本(2024巨无霸详细)

docker_serve_11">1.2 新建项目docker_serve

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

docker_serve_15">1.3 编写docker_serve代码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package com.example.docker_serve.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.UUID;@RestController
public class orderController
{@Value("${server.port}")private String port;@RequestMapping("/order/docker")public String helloDocker(){return "hello docker"+"\t"+port+"\t"+ UUID.randomUUID().toString();}@RequestMapping(value ="/order/index",method = RequestMethod.GET)public String index(){return "服务端口号: "+"\t"+port+"\t"+UUID.randomUUID().toString();}
}

在这里插入图片描述

server.port=6001

1.4 启动项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
恭喜恭喜,到这里,咱们就成功的启动项目啦!

1.5 打包项目

这里使用Maven的便利性可以的到体现,直接使用Maven打包即可
在这里插入图片描述
在这里插入图片描述

1.6 上传项目到虚拟机

首先,创建一个文件夹
这是在虚拟机上执行的命令

mkdir mydocker

在这里插入图片描述
这里给大家推荐个软件xftp,它传输文件又方便又快捷,我很喜欢,连接服务器我也是用它传文件的,今天第一次用它尝试给虚拟机传文件,也成功了!
在这里插入图片描述
在这里插入图片描述
可以看出上传文件成功

docker_81">2 部署到docker容器

通过Dockerfile发布微服务部署到docker容器

2.1 编写Dockerfile

cd /mydocker
vim Dockerfile

在这里插入图片描述

在这里插入图片描述

# 基础镜像使用java
FROM openjdk:17
# 作者
MAINTAINER ada
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为zzyy_docker.jar
ADD docker_serve-0.0.1-SNAPSHOT.jar ada_docker.jar
# 运行jar包
RUN bash -c 'touch /ada_docker.jar'
ENTRYPOINT ["java","-jar","/ada_docker.jar"]
#暴露6001端口作为微服务
EXPOSE 6001

2.2 构建镜像

docker build -t ada_docker:1.6 .

在这里插入图片描述

2.3 运行容器

docker run -d -p 6001:6001 ada_docker:1.6

在这里插入图片描述

2.4 访问测试

测试方案一:

curl 127.0.0.1:6001/order/index
curl 127.0.0.1:6001/order/docker

在这里插入图片描述

测试方法二:
在本地浏览器
先找到自己的IP地址
在这里插入图片描述

IP:6001/order/index
IP:6001/order/docker

在这里插入图片描述
在这里插入图片描述

3 后记

我最近超级爱学习新东西,看到一个不会的我就想学,比如:回学校的路上看见有人拉小提琴,我想:能不能学一下;我之前的日语还没考级,我:能不能学一下;看美剧,我去,发音好好听,我:能不能学一下!

加油,一直保持这个心态,日子会越来越好的~

BB,如果我的文档对您有帮助的话,记得给俺点个赞赞昂~


http://www.ppmy.cn/news/1574801.html

相关文章

计算机视觉基础|轻量化网络设计:MobileNetV3

一、引言 在深度学习领域,随着移动端和嵌入式设备的快速发展,对神经网络模型的轻量化需求日益迫切。传统的卷积神经网络(CNN)虽然在性能上表现出色,但由于其参数量大、计算复杂,往往难以在资源受限的设备上…

【R语言】ggplot2绘图常用操作

目录 坐标轴以及标签的相关主题 图例调整 字体类型设置 颜色相关 ggplot2如何添加带箭头的坐标轴? 标题相关主题调整 修改点图中点的大小 如何使得点的大小根据变量取值的大小来改变? 柱状图和条形图 坐标轴以及标签的相关主题 theme( # 增大X…

C++跨平台开发:策略与实践在软件开发领域

在软件开发领域,跨平台能力意味着一个应用程序可以在不同的操作系统上运行,无需针对每个平台单独编写代码。C作为一种强大的编程语言,因其高效性和灵活性,在跨平台开发领域有着广泛的应用。本文将探讨C跨平台开发的关键策略与实践…

AutoGen :打造专属智能体 (Custom Agents)

👉👉👉本人承接各类AI相关应用开发项目(包括但不限于大模型微调、RAG、AI智能体、NLP、机器学习算法、运筹优化算法、数据分析EDA等) !!!👉👉👉 有意愿请私信!!!AutoGen 的 AgentChat 模块为我们提供了内置预设的智能体,它们在不同场景下能展现出各种能力。 但是,…

独立开发者之Google Analytics使用教程

Google Analytics(GA)是Google提供的一款免费的网络分析服务,用于追踪和报告网站流量。以下是独立开发者如何使用Google Analytics的详细教程: 1. 创建Google Analytics账户 注册Google账户:如果你还没有Google账户&…

python 网络安全巡检

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 前言 好几天没更因为寒假放假回家放松了几天 嘿嘿 今天继续开始启动学习模式。 python数据库编程 Python DB API访问数据库流程 Python DB API包含的内容 什么是…

树莓集团数字影像产业园,开启未来影像新生态大门

在影像技术飞速发展的时代,树莓集团紧跟潮流,强势打造数字影像产业园,为未来影像新生态的构建开启了大门。树莓集团数字影像产业园汇聚了数字影像领域的前沿技术与多元业态。 从影视制作、动画设计到虚拟现实(VR)、增…

深入了解 MySQL:从基础到高级特性

引言 在当今数字化时代,数据的存储和管理至关重要。MySQL 作为一款广泛使用的开源关系型数据库管理系统(RDBMS),凭借其高性能、可靠性和易用性,成为众多开发者和企业的首选。本文将详细介绍 MySQL 的基础概念、安装启…