今日练习

简介: 本作业通过Docker部署微服务环境,涵盖Nacos、MySQL、耗材中心、医生站及网关服务的安装与配置。实践从数据库搭建到多服务协同,掌握Dockerfile与docker-compose编排,实现完整微服务架构的构建、部署与验证,提升容器化应用实战能力。(238字)

作业目标
掌握Docker对于常见微服务中间件的安装、部署、运行
掌握Docker对于微服务的安装,尤其是陌生的一个工程从数据库->工程->访问
工程介绍
工程结构图
技术架构图
物理部署图
环境准备
通过docker images、docker ps -a指令确保本地无任何镜像、运行中的容器,如有借助
docker rmi -f 镜像,删除镜像
docker rm -f 容器,删除容器
mysql涉及的表结构语句,数据库:doctor_station,建表语句:
doctor_station.sql
(2 KB)
今日所有镜像文件上传路径:/tmp/docker,需在tmp下手动创建docker文件夹
题目一
目标
完成Docker环境下Nacos服务部署、启动、访问验证
提示
去dockerhub官网找到Nacos,查看拉取、启动指令,启动完成后浏览器验证
参考答案
dockerhub查看服务拉取指令:docker pull nacos/nacos-server
/tmp/docker路径下,执行docker pull指令
查看官网启动指令,并调整如下:
官网 Quick Start
调整指令如下:
修改登录用户名:nacos,密码默认是nacos不用修改
修改宿主机暴露端口:8848
修改镜像名称:当前使用latest,不用声明
访问验证
用户名/密码=nacos/nacos,http://192.168.206.129:8848/nacos/#/login
题目二
目标
完成Docker环境下MySQL服务部署、启动、访问验证,并完成表结构、数据导入
提示
参照dockerhub官网完成mysql安装
本地Navicat等可视化工具连接后,完成表结构、数据的导入
参考答案
dockerhub查看服务拉取指令:docker pull mysql
/tmp/docker路径下,执行docker pull指令
官网查看启动指令,并调整如下:
官网 Quick Start
修改如下,并执行启动
修改用户名
修改密码
修改镜像名称
启动后,客户端连接访问
注意:此时安装的latest版本比较高,部分可视化工具可能链接不是
导入环境准备中的表结构语句,如下:
题目三(*)
目标
完成Docker环境下耗材中心服务部署、启动、访问验证
提示
mysql服务、nacos需更改原来的localhost为对应ip
需创建对应的Dockerfile、docker-compose.yml,其中docker-compose.yml不要重复定义nacos、mysql,避免重复启动
nacos配置文件需同步过来:inventoryservice-dev.yaml
为保证访问,前期可以在docker-compose.yml中暴露此服务端口,以验证是否部署成功
日志查看路径:/var/lib/docker/containers/容器ID-json.log,如启动失败可以在这里查看错误原因,如我最初没有同步nacos配置文件
参考答案
修改application.yml、bootstrap.yml,这里更改了IP【注意你自己的需调整成自己的】
pom.xml增加构建信息
执行maven-clean-package,编译打包,在target中找到上述finalName名称的jar
新建:Dockerfile,并与inventory.jar放在文件夹:inventory中
新建:docker-compose.yml,放在文件夹:doctor-station中
上述整体目录结构目前如下:
doctor-station
inventory
Dockerfile
inventory.jar
docker-compose.yml
上传整个文件夹,到:/tmp/docker/
执行启动命令: docker-compose up -d
postman请求验证:

题目四
目标
完成Docker环境下医生站部署、启动、访问验证
提示
同题目二提示
参考答案
修改doctor-service配置文件
application.yml
bootstrap.yml
pom文件增加构建信息,并打包
创建Dockerfile
修改docker-compose.yml,追加doctor相关信息
上述整体目录结构目前如下:
doctor-station
inventory
Dockerfile
inventory.jar
doctor
Dockerfile
doctor.jar
docker-compose.yml
上传doctor到doctor-station文件夹下,重新上传:docker-compose.yml
停止原inventory服务:docker rm -f,并删除已有的镜像
执行语句重启整个微服务:docker-compose up -d。注意一定是重新构建两个才可以,否则删除镜像、容器后重新启动

postman测试验证,启动构建完成后稍等一下再访问,可以通过查看日志是否启动成功再决定是否访问

题目五
目标
完成Docker环境下网关服务部署、启动、访问验证
提示
参照作业二完成部署,但是此时暴露端口只暴露网关,其余都不暴露
参考答案
修改配置文件:application.yml
pom文件增加构建信息,并打包
创建Dockerfile
修改:docker-compose.yml文件,注意端口
上传gateway,重新上传:docker-compose.yml文件,整体结构如下
删除容器、镜像,并重启

重启:docker-compose up -d
postman验证
不设置权限,403禁止访问
设置后访问正常

相关文章
|
小程序 JavaScript 数据库
微信小程序系列——上传下载图片以及图片的展示
微信小程序系列——上传下载图片以及图片的展示
|
10月前
|
JSON 监控 API
日本股票 API 对接实战指南(实时行情与 IPO 专题)
随着巴菲特增持日本商社及日经225强势表现,日本股市备受关注。本文介绍如何通过StockTV API(countryId=35)快速接入日本股市实时行情、IPO新股日历与K线数据,支持秒级更新与多周期技术分析,助力开发者高效构建金融应用。
2192 156
|
搜索推荐 数据可视化 开发者
低代码开发的优势和劣势
【8月更文挑战第4天】低代码开发的优势和劣势
505 5
|
9月前
|
机器学习/深度学习 存储 编解码
阿里云企业级云服务器:c9i、g9i、r9i实例的极致性能与适用场景解析
阿里云第九代企业级云服务器c9i、g9i、r9i实例基于CIPU架构与英特尔®至强®6处理器,分别针对计算密集型、通用型及内存密集型场景优化。c9i实例(1:2配比)支持AMX矩阵加速,适用于机器学习推理、视频编码;g9i实例(1:4配比)平衡计算、存储与网络性能,适合Web应用、数据库;r9i实例(1:8配比)提供大内存容量,适配内存数据库、大数据处理。
|
机器学习/深度学习 存储 人工智能
算力资源选择指南:如何匹配你的开发需求?
本文作者结合七年分布式计算经验,深入剖析算力卡与服务器的本质区别及其选型策略。从硬件架构看,算力卡专注高性能计算,如A100/H100在矩阵运算效率上提升显著,但文件读写较弱;服务器则是全能型系统,适合多任务场景。在应用场景中,算力卡适用于机器学习训练等浮点密集任务,而服务器在部署和服务支持上更具优势。成本模型显示,算力卡三年TCO更低但运维成本更高,需根据实际需求权衡。最后,作者提供选型决策树,建议根据任务类型、生态需求和负载特征选择合适方案。
749 8
|
数据采集 监控 Java
Python 函数式编程的执行效率:实际应用中的权衡
Python 函数式编程的执行效率:实际应用中的权衡
494 102
|
人工智能 测试技术 开发者
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【9月更文挑战第27天】北京大学李戈团队在人工智能领域取得重要突破,提出HITS新方法,通过将待测方法分解为多个切片并利用大型语言模型逐个生成测试用例,显著提升代码测试覆盖率,尤其在处理复杂方法时效果显著,为软件开发和测试领域带来新希望。尽管存在一定局限性,HITS仍展示了巨大潜力,未来有望克服限制,推动软件测试领域的创新发展。论文详情见【https://www.arxiv.org/pdf/2408.11324】。
904 6
|
网络协议 5G 网络虚拟化
WiFI网速慢的原因都在这里了,3招教你WiFi慢的烦恼!
WiFI网速慢的原因都在这里了,3招教你WiFi慢的烦恼!
3014 2