作业目标
掌握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禁止访问
设置后访问正常