You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
virtual-patient/服务部署文档.md

182 lines
4.3 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 虚拟病人服务部署文档
## 需要部署的服务列表
1. 问诊系统
2. 后端管理系统
3. nginx前端服务
4. rasa对话服务
5. mysql数据库
6. paddlespeech语音文字转换服务
7. minio对象存储服务
## 问诊服务部署
使用dockerfile的形式进行部署端口号8899
注意dockerfile中的virtual-patient-web-1.0-SNAPSHOT.jar路径正确
~~~dockerfile
# 设置基础镜像
FROM registry.cn-beijing.aliyuncs.com/longbei/jdk:latest
# 复制java jar 到容器中
COPY virtual-patient-web-1.0-SNAPSHOT.jar /data/vp/virtual-patient-web-1.0-SNAPSHOT.jar
# 暴漏服务端口
EXPOSE 8899
# 设置启动命令
ENTRYPOINT ["java","-Xms256m","-Xmx1g","-Dspring.profiles.active=prod","-Dfile.encoding=utf-8","-Duser.timezone=Asia/Shanghai","-jar","/data/vp/virtual-patient-rasa-1.0-SNAPSHOT.jar"]
~~~
构建镜像并启动
~~~shell
# 构建镜像
docker build -t virtual-patient-web:1.0.0 .
# 验证镜像是否存在
docker images
# 运行容器
docker run --name virtual-patient-web -p 8899:8899 -d virtual-patient-web
# 验证容器运行
docker ps
# 查看日志是否正常
docker logs -f virtual-patient-web
~~~
## 后端管理系统部署
使用dockerfile的形式进行部署端口号8891
注意dockerfile中的virtual-patient-manage-1.0-SNAPSHOT.jar路径正确
~~~dockerfile
# 设置基础镜像
FROM registry.cn-beijing.aliyuncs.com/longbei/jdk:latest
# 复制java jar 到容器中
COPY virtual-patient-manage-1.0-SNAPSHOT.jar /data/vp/virtual-patient-manage-1.0-SNAPSHOT.jar
# 暴漏服务端口
EXPOSE 8891
# 设置启动命令
ENTRYPOINT ["java","-Xms256m","-Xmx1g","-Dspring.profiles.active=prod","-Dfile.encoding=utf-8","-Duser.timezone=Asia/Shanghai","-jar","/data/vp/virtual-patient-manage-1.0-SNAPSHOT.jar"]
~~~
进入virtual-patient-manage文件夹依次执行命令
~~~shell
# 构建镜像
docker build -t virtual-patient-manage:1.0.0 .
# 验证镜像是否存在
docker images
# 运行容器
docker run --name virtual-patient-manage -p 8891:8891 -d virtual-patient-manage
# 验证容器运行
docker ps
# 查看日志是否正常
docker logs -f virtual-patient-manage
~~~
## Nginx前端服务
使用dockerfile的形式进行部署
~~~dockerfile
# 设置基础镜像
FROM nginx:1.25
# 复制文件到容器中
COPY nginx/html /usr/share/nginx/html
COPY nginx/logs /var/log/nginx
COPY nginx/conf.d /etc/nginx/conf.d
COPY nginx/ssl /data/vp/nginx/ssl
# 暴漏服务端口
EXPOSE 80
# 设置容器的默认入口点
ENTRYPOINT [ "/docker-entrypoint.sh" ]
# 设置默认的 CMD 参数
CMD [ "nginx", "-g", "daemon off;" ]
~~~
进入nginx文件夹依次执行命令
~~~shell
# 构建镜像
docker build -t virtual-patient-nginx:1.0.0 .
# 验证镜像是否存在
docker images
# 运行容器
docker run --name virtual-patient-nginx -p 80:80 -d virtual-patient-nginx
# 验证容器运行
docker ps
# 查看日志是否正常
docker logs -f virtual-patient-nginx
~~~
## RASA对话服务
~~~shell
# 加载镜像
docker load -i virtual-patient-rasa-manager.tar.gz
# 验证镜像是否存在
docker images
# 运行容器
docker run --name virtual-patient-rasa-manager -p 5050:5050 -p 8990:8890 -d virtual-patient-rasa-manager
# 验证容器运行
docker ps
# 查看日志是否正常
docker logs -f virtual-patient-rasa-manager
~~~
## mysql数据库
~~~shell
# 首先创建本地文件夹
mkdir /var/lib/mysql
# 拉取镜像
docker pull mysql:5.7
# 启动服务
docker run -d -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
~~~
启动mysql后执行数据库初始化脚本
## paddlespeech语音文字转换服务
~~~shell
# 加载镜像
docker load -i virtual-patient-paddlespeech.tar.gz
# 验证镜像是否存在
docker images
# 运行容器
docker run --name virtual-patient-paddlespeech -p 8090:8090 -d virtual-patient-paddlespeech
# 验证容器运行
docker ps
# 查看日志是否正常
docker logs -f virtual-patient-paddlespeech
~~~
## MINIO对象存储服务
~~~shell
# 首先创建文件夹
mkdir /data/vp/minio/data
# 将文件mv到对应的文件夹
mv virtual-patient-bucket-prod /data/vp/minio/data
# 拉最新版本
docker pull minio/minio
# 启动
docker run -it --name minio -p 9002:9000 -p 9001:9001 -d \
-v /data/vp/minio/data:/data \
-e 'MINIO_ROOT_USER=admin' \
-e 'MINIO_ROOT_PASSWORD=12345678' \
minio/minio server /data --console-address ":9001"
~~~