今日练习

本文涉及的产品
RDS AI 助手,专业版
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 本作业通过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禁止访问
设置后访问正常

相关文章
|
消息中间件 搜索推荐 算法
数据仓库常见规范
数据仓库常见规范
数据仓库常见规范
|
开发者
AppsFlyer 研究(十六)广告平台配置及代理商授权总结
AppsFlyer 研究(十六)广告平台配置及代理商授权总结
1300 0
|
iOS开发
You have not agreed to the Xcode license.
You have not agreed to the Xcode license. Before running the installer again please agree to the license by opening Xcode.app or running:     sudo xcodebuild -license   在使用mac终端安装应用程序的时候,出现上面提示的时候,是因为Xcode没有打开激活,只需要,打开Xcode,同意各种协议,即可在终端安装应用程序了。
1905 0
|
NoSQL Redis 数据库
Redis内核基于时间点的备份恢复和基于AOF日志的增量同步机制设计
11月30日云栖社区在线培训,阿里云资深开发工程师夏德军为大家带来阿里云Redis内核优化的分享。本文从两大方面介绍阿里云Redis服务,一是Redis内核支持基于时间点的备份恢复,一是Redis基于AOF日志的增量同步机制设计,并分别通过假设场景,详细的分析了备份恢复流程和AOF PSYNC流程。
10629 1
|
XML Java API
JAVA标准库
JAVA标准库
|
存储 Linux Shell
【Shell 命令集合 系统设置 】Linux 设置和显示硬件时钟 hwclock命令 使用指南
【Shell 命令集合 系统设置 】Linux 设置和显示硬件时钟 hwclock命令 使用指南
569 0
|
消息中间件 负载均衡 Kafka
kafka rebalance你真的了解吗
今天主要分享一下 kafka 的 rebalance,在 kafka 中,rebalance 是一个十分重要的概念,很多时候引发的一些问题可能都是由于 rebalance 引起的,rebalance 也就是再均衡,顾名思义,再均衡就是再次负载均衡,下面会对再均衡进行一个详细的描述。
842 3
|
监控 测试技术 Apache
性能测试:方法、工具与最佳实践
性能测试:方法、工具与最佳实践
1315 0
|
安全 Android开发
Android AVB的校验宏观的两个阶段
Android AVB的校验宏观的两个阶段
728 0
|
JavaScript 前端开发 网络安全
[网络安全]xss-labs level-14 解题详析
[网络安全]xss-labs level-14 解题详析
652 0