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
相关推荐
以太浮标2 小时前
华为eNSP模拟器综合实验之- ACL控制列表核心命令全解析及场景应用
运维·网络·网络协议·华为·信息与通信
巨斧空间掌门2 小时前
JDK17 下载 windows Linux
linux·运维·服务器
小挪号底迪滴2 小时前
Docker容器化实战:从“在我机器上能跑“到环境一致性
运维·docker·容器
江畔何人初2 小时前
kube-apiserver、kube-proxy、Calico 关系
运维·服务器·网络·云原生·kubernetes
_下雨天.3 小时前
Nginx性能调优与深度监控
运维·nginx
皮卡蛋炒饭.3 小时前
进程得控制
linux·运维·服务器
带娃的IT创业者5 小时前
WeClaw 日志分析实战:如何从海量日志中快速定位根因?
运维·python·websocket·jenkins·fastapi·架构设计·实时通信
杨云龙UP6 小时前
Oracle ASM磁盘组空间分配与冗余理解
linux·运维·数据库·sql·oracle
互成6 小时前
加密系统哪款最好用?2026年五款加密系统深度对比测评
运维·网络·安全
minji...6 小时前
Linux 库制作与原理(三)深入动静态链接原理
linux·运维·服务器·c++