Docker 编译
编译目录内含 omc_web 和 omc_api 两个项目代码
将后端项目代码中的 docker/Dockerfile 文件移动到最外层目录下,docker/omc是内部文件挂载的文件资源。
编译目录结构
probject
├── omc_web 目录-前端项目代码
├── omc_api 目录-后端项目代码
└── Dockerfile 文件-Docker编译需要
内部文件资源
| 路径 | 说明 |
|---|---|
| /usr/local/etc/omc/static | 网管静态资源文件路径 |
| /usr/local/etc/omc/upload | 网管上传文件资源路径 |
| /usr/local/etc/omc/omc.yaml | 网管配置文件 |
| /usr/local/etc/omc | 网管与网元之间相关文件 |
| /etc/nginx/cert | 网管前端 nginx 代理证书 |
| /etc/nginx/nginx.conf | 网管前端 nginx 代理配置 |
| /var/log | 网管相关日志输出 |
| /tmp/omc | 存放从网元拉取到本地的文件 |
端口声明
| 端口 | 说明 |
|---|---|
| 22 | 网管 容器内部 SSH 服务 |
| 80 | 网管 Nginx HTTP 服务 |
| 443 | 网管 Nginx HTTP2 服务 |
| 33030 | 网管后台 API HTTP 服务 |
| 33443 | 网管后台 API HTTP2 服务 |
| 33033 | 网管信令跟踪 UDP 协议接收服务 |
| 33060 | 网管性能分析监控 metrics 服务 |
编译
VERSION变量是后端程序打包版本号注入
docker build --build-arg VERSION="241212" -t omc:2.2412.1 .
部署
APPENV程序启动环境变量 local、prod (-e APPENV="local")
docker run -d \
--privileged=true \
--restart=always \
-p 8822:22 \
-p 8880:80 \
-p 8884:443 \
-p 8830:33030 \
-p 8833:33033 \
-p 8860:33060 \
-v /home/manager/probject/omc_api/docker/omc:/usr/local/etc/omc \
-v /home/manager/probject/omc_api/docker/omc/logs:/var/log \
-v /home/manager/probject/omc_api/docker/omc/tmp:/tmp/omc \
-v /home/manager/probject/omc_api/docker/omc/nginx/cert:/etc/nginx/cert \
-v /home/manager/probject/omc_api/docker/omc/nginx/nginx.conf:/etc/nginx/nginx.conf \
-e TZ="Asia/Shanghai" \
-e APPENV="prod" \
-m 512M \
--name omc \
omc:2.2412.1
调试
docker run -it omc:xxx sh
docker exec -it omc:xxx sh
service ssh start && service nginx start && /usr/local/bin/omc --env prod -c /usr/local/etc/omc/omc.yaml
镜像导出导入
docker save bitnami/keydb:6.3.4 -o keydb_6.3.4.tar
docker save mariadb:10.6.21 -o mariadb_10.6.21.tar
docker save omc:xx -o omc_xx.tar
docker load -i keydb_6.3.4.tar
docker load -i mariadb_10.6.21.tar
docker load -i omc_xx.tar
sudo bash omc-docker.sh install
mkdir omc-r2.2412.1-ub22-cloud
tar -czvf omc-r2.2412.1-ub22-cloud.tgz omc-r2.2412.1-ub22-cloud/
tar -xzvf omc-r2.2412.1-ub22-cloud.tgz
scp omc_2.2412.1.tar manager@192.168.9.59:/home/manager/omc-r2.2412.1-ub22-cloud/tar/