1
0
Files
omc_api/docker/README.md
2024-12-13 14:58:44 +08:00

110 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Docker 编译
编译目录内含 `omc_web``omc_api` 两个项目代码
将后端项目代码中的 `docker/Dockerfile` 文件移动到最外层目录下,`docker/omc`是内部文件挂载的文件资源。
编译目录结构
```text
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` 变量是后端程序打包版本号注入
```sh
docker build --build-arg VERSION="241212" -t omc:2.2412.1 .
```
## 部署
- `APPENV` 程序启动环境变量 local、prod -e APPENV="local"
```sh
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
```
## 调试
```sh
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
```
## 镜像导出导入
```sh
docker save redis:7.2.5 -o redis_7.2.5.tar
docker save mysql:8.0.39 -o mysql_8.0.39.tar
docker save omc:2.2412.1 -o omc_2.2412.1.tar
docker load -i redis_7.2.5.tar
docker load -i mysql_8.0.39.tar
docker load -i omc_2.2412.1.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/
```