
简介
本文将详细介绍情感分析系统的容器化部署全过程,涵盖从基础环境准备到各核心组件(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
