Docker 实战:情感分析系统-容器化部署全流程(sa-logic、sa-webapp、sa-frontend )

简介

本文将详细介绍情感分析系统的容器化部署全过程,涵盖从基础环境准备到各核心组件(sa-logic、sa-webapp、sa-frontend)的 Docker 镜像构建,再到通过 Docker Compose 实现多服务编排的完整流程。内容包含具体的操作命令、Dockerfile 配置细节、docker-compose.yaml 编排文件编写以及最终的系统访问验证,提供一套可直接参考的情感分析系统容器化部署实践方案

复制代码
 # 基础准备
软件包 Sentiment-Analyzer.tar.gz
 # 解压压缩包
 [root@master ~]# tar Sentiment-Analyzer.tar.gz 
 [root@master ~]# cd sentiment-analyzer
 ​
 # 配置yum源
 [root@master ]vi /etc/yum.repos.d/local.repo
 [sa]
 name=sa
 gpgcheck=0
 enabled=1
 baseurl=ftp://controller/sa-repo
 [root@master sentiment-analyzer]# cp /etc/yum.repos.d/sa.repo .
 ​
 # 完成后目录内所需文件
 [root@master sentiment-analyzer]# tree -L 2
 .
 ├── docker-compose.yaml
 ├── Dockerfile-frontend
 ├── Dockerfile-logic
 ├── Dockerfile-webapp
 ├── local.repo
 ├── sa-frontend
 │   └── sa-frontend.tar.gz
 ├── sa-logic
 │   ├── app.py
 │   ├── python-packages.tar.gz
 │   └── requirements.txt
 ├── sa-repo
 │   ├── packages
 │   └── repodata
 └── sa-webapp
     └── go-packages.tar.gz

1.容器化部署sa-logic

复制代码
 [root@master sentiment-analyzer]# cat Dockerfile-logic 
 FROM centos:centos7.5.1804
 RUN rm -rf /etc/yum.repos.d/*
 COPY sa.repo /etc/yum.repos.d/
 WORKDIR /root
 ADD sa-logic/* ./
 ENV VUE_APP_API_HOST=http://192.168.30.10:9001
 RUN yum install -y python3  && \
     pip3 install python-packages/*
 EXPOSE 5000
 CMD ["python3","app.py"]
 ​
 构建镜像:
 docker build -t sa-logic:v1.1 -f Dockerfile-logic .

2.容器化部署sa-webapp

复制代码
 [root@master sentiment-analyzer]# cat Dockerfile-webapp 
 ------------------------------------------
 FROM centos:centos7.5.1804
 RUN rm -rf /etc/yum.repos.d/*
 COPY sa.repo /etc/yum.repos.d/
 WORKDIR /root
 ADD sa-webapp/*.gz .
 RUN yum install -y golang && \
     go build -o webapp .
 EXPOSE 8080
 CMD ["/root/webapp"]
 构建镜像:
 docker build -t sa-webapp:v1.1 -f Dockerfile-webapp .

3.容器化部署sa-frontend

复制代码
 [root@master sentiment-analyzer]# cat Dockerfile-frontend 
 ​
 FROM centos:centos7.5.1804
 RUN rm -rf /etc/yum.repos.d/*
 COPY sa.repo /etc/yum.repos.d/
 WORKDIR /root
 ADD sa-frontend/*.gz .
 ENV VUE_APP_API_HOST=http://192.168.30.10:9002
 RUN yum install -y nginx nodejs
 RUN npm run build && \
     rm -rf /usr/share/nginx/html/* && \
     cp -rf dist/* /usr/share/nginx/html/
 EXPOSE 80
 CMD ["nginx","-g","daemon off;"]
 ---------------------------------------------------------------------
 docker build -t sa-frontend:v1.1 -f Dockerfile-frontend .

4.编排情感分析系统

复制代码
 [root@master sentiment-analyzer]# vi docker-compose.yaml 
 version: '3'
 services:
   sa-logic:
     image: sa-logic:v1.1
     container_name: sa-logic
     ports:
     - 9001:5000
   sa-webapp:
     image: sa-webapp:v1.1
     container_name: sa-webapp
     ports:
     - 9002:8080
     environment:
     - API_HOST=http://192.168.30.10:9001
   sa-frontend:
     image: sa-frontend:v1.1
     container_name: sa-frontend
     ports:
     - 9003:80
     
 [root@master sentiment-analyzer]# docker-compose up -d 
 [root@master sentiment-analyzer]# docker-compose ps 
    Name             Command          State           Ports         
 -------------------------------------------------------------------
 sa-frontend   nginx -g daemon off;   Up      0.0.0.0:9003->80/tcp  
 sa-logic      python3 app.py         Up      0.0.0.0:9001->5000/tcp
 sa-webapp     /root/webapp           Up      0.0.0.0:9002->8080/tcp
 # 使用浏览器访问http://$ip:9003
相关推荐
千百元13 小时前
ngrok 内网穿透TCP
运维
典典分享指南14 小时前
用大模型把写作 SOP 变成可复用 Prompt
docker·jupyter·eclipse·phpstorm·myeclipse
会周易的程序员14 小时前
企业私有 AI 算力服务器架构设计:异构四节点 + QUIC 微服务
运维·服务器·c++·人工智能·微服务·架构
硬件工艺分享君14 小时前
PCB厂家如何守住交期、品质与响应
大数据·运维·科技·制造·pcb工艺
库玛西14 小时前
Linux网络编程:HTTP/HTTPS协议核心技术全解析
linux·运维·服务器·网络·c++·http·https
sryyd_0214 小时前
Kubernetes Pod 管理从入门到实战:命令、YAML 与生命周期全解析
云原生·容器·kubernetes
志栋智能14 小时前
大模型驱动运维:重构故障根因分析的“思考”逻辑
运维·服务器·重构·自动化
_F_y14 小时前
Linux网络常用指令
linux·运维·网络
北风toto15 小时前
扩展操作码技术 · 详细笔记
运维·服务器·笔记·软件设计师
笑霸final15 小时前
不用上传服务器!用 Vue3 + ONNX Runtime Web 在浏览器本地实现智能抠图
运维·前端·图像处理·ai·onnx·canva可画·web性能优化