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
相关推荐
Decay__40 分钟前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
贞明电子3 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
万联WANFLOW3 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
Ruiery5 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
Decay__6 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
江华森8 小时前
数据中心基础设施运维实战:概述与实验环境搭建
运维
迪菲赫尔曼8 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
by209999 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
螺丝钉tina10 小时前
[Playwright][08] Upload 模块自动化:如何设计真实业务测试用例?
运维·自动化·测试用例
迪菲赫尔曼10 小时前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测