chore: docker部署安装脚本
This commit is contained in:
@@ -90,6 +90,6 @@ EXPOSE 33030 33033 33040 33060 80 22
|
|||||||
CMD ["/bin/sh", "-c", "service ssh start && service nginx start && /usr/local/bin/omc --env ${APPENV} -c /usr/local/etc/omc/omc.yaml"]
|
CMD ["/bin/sh", "-c", "service ssh start && service nginx start && /usr/local/bin/omc --env ${APPENV} -c /usr/local/etc/omc/omc.yaml"]
|
||||||
|
|
||||||
# 构建
|
# 构建
|
||||||
# docker build --build-arg VERSION=241101 -t omc:2.241101 .
|
# docker build --build-arg VERSION=241211 -t omc:2.2412.1 .
|
||||||
# docker run -it omc:2.241101 sh
|
# docker run -it omc:2.241211 sh
|
||||||
# service ssh start && service nginx start && /usr/local/bin/omc --env prod -c /usr/local/etc/omc/omc.yaml
|
# service ssh start && service nginx start && /usr/local/bin/omc --env prod -c /usr/local/etc/omc/omc.yaml
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ probject
|
|||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|
||||||
docker build --build-arg VERSION="2.241101" -t omc:2.241101 .
|
docker build --build-arg VERSION="241211" -t omc:2.2412.1 .
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -58,19 +58,11 @@ docker run -d \
|
|||||||
-e TZ="Asia/Shanghai" \
|
-e TZ="Asia/Shanghai" \
|
||||||
-e APPENV="prod" \
|
-e APPENV="prod" \
|
||||||
-m 512M \
|
-m 512M \
|
||||||
--name omc2.241101 \
|
--name omc \
|
||||||
omc:2.241101
|
omc:2.2412.1
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 镜像导出导入
|
|
||||||
|
|
||||||
```sh
|
|
||||||
docker save omc:2.241101 -o omc_r2.241101.tar
|
|
||||||
|
|
||||||
docker load -i omc_r2.241101.tar
|
|
||||||
```
|
|
||||||
|
|
||||||
## 调试
|
## 调试
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@@ -82,3 +74,17 @@ 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
|
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.sh install
|
||||||
|
```
|
||||||
|
|||||||
139
docker/omc.sh
Normal file
139
docker/omc.sh
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
OMC_CONTAINER_NAME="omc"
|
||||||
|
MYSQL_CONTAINER_NAME="omc_mysql"
|
||||||
|
REDIS_CONTAINER_NAME="omc_redis"
|
||||||
|
|
||||||
|
# usage
|
||||||
|
usage() {
|
||||||
|
echo "Usage: bash omc.sh [install|uninstall|restart|start|stop]"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# install
|
||||||
|
install(){
|
||||||
|
echo "====================== Install container omc service ====================="
|
||||||
|
echo "Install mysql and redis service program, default N (Y/N):"
|
||||||
|
read DB_SERVICE
|
||||||
|
DB_SERVICE=${DB_SERVICE:-"N"}
|
||||||
|
echo "Select the image in the tar directory (omc_2.2412.1.tar):"
|
||||||
|
read OMC_FILE
|
||||||
|
OMC_FILE=${OMC_FILE:-"omc_2.2412.1.tar"}
|
||||||
|
echo "Container time zone (Asia/Shanghai):"
|
||||||
|
read OMC_TZ
|
||||||
|
OMC_TZ=${OMC_TZ:-"Asia/Shanghai"}
|
||||||
|
echo "Container service port (80):"
|
||||||
|
read OMC_PORT
|
||||||
|
OMC_PORT=${OMC_PORT:-"80"}
|
||||||
|
echo "===================== Install container omc service ====================="
|
||||||
|
|
||||||
|
echo "==> Checking Docker version"
|
||||||
|
if sudo docker -v > /dev/null 2>&1; then
|
||||||
|
sudo docker -v
|
||||||
|
else
|
||||||
|
echo "Docker is not available or sudo privileges are not granted."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo "==> Created service network"
|
||||||
|
NETWORK="omcnet"
|
||||||
|
if ! docker network ls --filter name=$NETWORK -q | grep -q .; then
|
||||||
|
docker network create $NETWORK
|
||||||
|
echo "Network '$NETWORK' created."
|
||||||
|
else
|
||||||
|
echo "Network '$NETWORK' already exists."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "==> Install service mysql and redis container"
|
||||||
|
MYSQL_CONTAINER_NAME="omc_mysql"
|
||||||
|
REDIS_CONTAINER_NAME="omc_redis"
|
||||||
|
if [[ "$DB_SERVICE" =~ ^[Yy]$ ]]; then
|
||||||
|
# MySQL Config
|
||||||
|
mysql_container=$(docker ps --filter "name=$MYSQL_CONTAINER_NAME" --format "{{.Names}}")
|
||||||
|
if [[ -z "$mysql_container" ]]; then
|
||||||
|
echo "MySQL container is not running. Installing MySQL container..."
|
||||||
|
docker load --input $(pwd)/tar/mysql_8.0.39.tar
|
||||||
|
MYSQL_IMAGE="mysql:8.0.39"
|
||||||
|
MYSQL_ROOT_PASSWORD="1000omc@kp!"
|
||||||
|
SQL_FILE_PATH="$(pwd)/sql/install/omc_db.sql"
|
||||||
|
docker run --privileged=true --restart=always -e TZ="$OMC_TZ" \
|
||||||
|
-e MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD \
|
||||||
|
-v $SQL_FILE_PATH:/docker-entrypoint-initdb.d/database.sql \
|
||||||
|
--network $NETWORK \
|
||||||
|
--name $MYSQL_CONTAINER_NAME \
|
||||||
|
-d $MYSQL_IMAGE
|
||||||
|
else
|
||||||
|
echo "MySQL container is already running: $mysql_container"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Redis Config
|
||||||
|
redis_container=$(docker ps --filter "name=$REDIS_CONTAINER_NAME" --format "{{.Names}}")
|
||||||
|
if [[ -z "$redis_container" ]]; then
|
||||||
|
echo "Redis container is not running. Installing Redis container..."
|
||||||
|
docker load --input $(pwd)/tar/redis_7.2.5.tar
|
||||||
|
REDIS_IMAGE="redis:7.2.5"
|
||||||
|
REDIS_PASSWORD="helloearth"
|
||||||
|
docker run --privileged=true --restart=always -e TZ="$OMC_TZ" \
|
||||||
|
-e REDIS_PASSWORD=$REDIS_PASSWORD \
|
||||||
|
--network $NETWORK \
|
||||||
|
--name $REDIS_CONTAINER_NAME \
|
||||||
|
-d $REDIS_IMAGE
|
||||||
|
else
|
||||||
|
echo "Redis container is already running: $redis_container"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "You chose not to install MySQL and Redis containers."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "==> Loading service omc container"
|
||||||
|
docker load --input $(pwd)/tar/$OMC_FILE
|
||||||
|
|
||||||
|
if [ ! -d /usr/local/etc/omc ]; then
|
||||||
|
mkdir -p /usr/local/etc/omc
|
||||||
|
cp -rf ./omc/* /usr/local/etc/omc
|
||||||
|
fi
|
||||||
|
|
||||||
|
OMC_IMAGE=$(echo "$OMC_FILE" | sed -e 's/_/:/' -e 's/\.tar$//')
|
||||||
|
docker run --privileged=true --restart=always -m 512M \
|
||||||
|
-v /usr/local/etc/omc:/usr/local/etc/omc \
|
||||||
|
-v /usr/local/etc/omc/logs:/var/log \
|
||||||
|
-v /usr/local/etc/omc/nginx/cert:/etc/nginx/cert \
|
||||||
|
-v /usr/local/etc/omc/nginx/nginx.conf:/etc/nginx/nginx.conf \
|
||||||
|
-e TZ=$OMC_TZ \
|
||||||
|
-p $OMC_PORT:80 \
|
||||||
|
--network $NETWORK \
|
||||||
|
--name $OMC_CONTAINER_NAME \
|
||||||
|
-d $OMC_IMAGE
|
||||||
|
|
||||||
|
echo "Running service $OMC_CONTAINER_NAME container port $OMC_PORT"
|
||||||
|
}
|
||||||
|
|
||||||
|
# uninstall
|
||||||
|
uninstall(){
|
||||||
|
docker stop $OMC_CONTAINER_NAME && docker rm $OMC_CONTAINER_NAME
|
||||||
|
docker stop $REDIS_CONTAINER_NAME && docker rm $REDIS_CONTAINER_NAME
|
||||||
|
docker stop $MYSQL_CONTAINER_NAME && docker rm $MYSQL_CONTAINER_NAME
|
||||||
|
}
|
||||||
|
|
||||||
|
# According to the input parameters, the corresponding method will be selected for execution, and the instructions will be executed without input.
|
||||||
|
case "$1" in
|
||||||
|
"install")
|
||||||
|
install
|
||||||
|
;;
|
||||||
|
"uninstall")
|
||||||
|
uninstall
|
||||||
|
;;
|
||||||
|
"restart")
|
||||||
|
docker restart $OMC_CONTAINER_NAME
|
||||||
|
;;
|
||||||
|
"start")
|
||||||
|
docker start $OMC_CONTAINER_NAME
|
||||||
|
;;
|
||||||
|
"stop")
|
||||||
|
docker stop $OMC_CONTAINER_NAME
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>OMC Document</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>OMC</h1>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1 +1 @@
|
|||||||
aNHIGgEM8peJlhuQr1jjoTww/bap9p8cdnEpbPlX0LvvYDLw1X6tqNxeN0QyGdSQHRkpiS7jw2eFiuWsB7sPewohAq2nZgqyYcbg88pjViM72CkCrv0mQ+Ia0ir/FN5zjG0KCy7Dju6Rr7uENqdNVA==
|
# unique
|
||||||
@@ -8,10 +8,6 @@ logger:
|
|||||||
duration: 24
|
duration: 24
|
||||||
count: 2
|
count: 2
|
||||||
|
|
||||||
pprof:
|
|
||||||
enabled: true
|
|
||||||
addr: :33060
|
|
||||||
|
|
||||||
# rest agent listen ipv4/v6 and port, support multiple routines
|
# rest agent listen ipv4/v6 and port, support multiple routines
|
||||||
# ip: 0.0.0.0 or ::0, support IPv4/v6
|
# ip: 0.0.0.0 or ::0, support IPv4/v6
|
||||||
# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert,
|
# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert,
|
||||||
@@ -28,19 +24,19 @@ database:
|
|||||||
type: mysql
|
type: mysql
|
||||||
user: root
|
user: root
|
||||||
password: "1000omc@kp!"
|
password: "1000omc@kp!"
|
||||||
host: "192.168.9.58"
|
host: "omc_mysql"
|
||||||
port: 13306
|
port: 3306
|
||||||
name: "omc_db"
|
name: "omc_db"
|
||||||
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
|
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
|
||||||
backup: d:/omc.git/be.ems/restagent/database
|
backup: "/usr/local/etc/omc/database"
|
||||||
|
|
||||||
# Redis data cache
|
# Redis data cache
|
||||||
redis:
|
redis:
|
||||||
dataSource:
|
dataSource:
|
||||||
# OMC system db
|
# OMC system db
|
||||||
default:
|
default:
|
||||||
port: 16379 # Redis port
|
port: 6379 # Redis port
|
||||||
host: "192.168.9.58" # Redis host
|
host: "omc_redis" # Redis host
|
||||||
password: "helloearth"
|
password: "helloearth"
|
||||||
db: 10 # Redis db_num
|
db: 10 # Redis db_num
|
||||||
# used to specify the default data source for multiple data resourece
|
# used to specify the default data source for multiple data resourece
|
||||||
@@ -54,12 +50,11 @@ mml:
|
|||||||
sizeRow: 600
|
sizeRow: 600
|
||||||
sizeCol: 128
|
sizeCol: 128
|
||||||
bufferSize: 65535
|
bufferSize: 65535
|
||||||
mmlHome: ./mmlhome
|
|
||||||
|
|
||||||
# Tracking configuration
|
# Tracking configuration
|
||||||
trace:
|
trace:
|
||||||
enabled: true
|
enabled: true
|
||||||
host: "192.168.5.58" # Fill in the specific IP address
|
host: "0.0.0.0" # Fill in the specific IP address
|
||||||
port: 33033
|
port: 33033
|
||||||
|
|
||||||
# NE config
|
# NE config
|
||||||
@@ -93,12 +88,12 @@ omc:
|
|||||||
checksign: false
|
checksign: false
|
||||||
rootDir: ./
|
rootDir: ./
|
||||||
binDir: ./bin
|
binDir: ./bin
|
||||||
backup: C:/usr/local/omc/backup
|
backup: /usr/local/omc/backup
|
||||||
upload: C:/usr/local/omc/upload
|
upload: /usr/local/omc/upload
|
||||||
frontUpload: C:/usr/local/omc/upload
|
frontUpload: /usr/local/omc/upload
|
||||||
frontTraceDir: C:/usr/local/omc/trace
|
frontTraceDir: /usr/local/omc/trace
|
||||||
software: C:/usr/local/omc/software
|
software: /usr/local/omc/software
|
||||||
license: C:/usr/local/omc/license
|
license: /usr/local/omc/license
|
||||||
gtpUri: gtp:192.168.2.219:2152
|
gtpUri: gtp:192.168.2.219:2152
|
||||||
checkContentType: false
|
checkContentType: false
|
||||||
testMode: false
|
testMode: false
|
||||||
@@ -150,8 +145,8 @@ auth:
|
|||||||
token: true
|
token: true
|
||||||
expires: 1800
|
expires: 1800
|
||||||
session: multiple
|
session: multiple
|
||||||
publicKey: ./etc/certs/omc_pub.key
|
publicKey: /usr/local/omc/certs/omc_pub.key
|
||||||
privateKey: ./etc/certs/omc_pri.key
|
privateKey: /usr/local/omc/omc_pri.key
|
||||||
|
|
||||||
# Parameter for limit number
|
# Parameter for limit number
|
||||||
# rmuid_maxnum: the max number of rmUID, default: 50
|
# rmuid_maxnum: the max number of rmUID, default: 50
|
||||||
@@ -168,11 +163,13 @@ params:
|
|||||||
urimaxlen: 2100000
|
urimaxlen: 2100000
|
||||||
rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}"
|
rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}"
|
||||||
|
|
||||||
# 静态文件配置, 相对项目根路径或填绝对路径
|
# Static file configuration, relative to the project root path or fill in the absolute path
|
||||||
staticFile:
|
staticFile:
|
||||||
# 默认资源,dir目录需要预先创建
|
# Default resources, dir directories need to be pre-created
|
||||||
default:
|
default:
|
||||||
|
prefix: "/static"
|
||||||
dir: "/usr/local/etc/omc/static"
|
dir: "/usr/local/etc/omc/static"
|
||||||
# 文件上传资源目录映射,与项目目录同级
|
# File upload resource directory mapping, same level as project directory
|
||||||
upload:
|
upload:
|
||||||
dir: "/usr/local/etc/omc/upload"
|
prefix: "/upload"
|
||||||
|
dir: "/usr/local/etc/omc/upload"
|
||||||
1
docker/omc/upload/README.md
Normal file
1
docker/omc/upload/README.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
# OMC Upload Dir
|
||||||
6308
docker/sql/install/omc_db.sql
Normal file
6308
docker/sql/install/omc_db.sql
Normal file
File diff suppressed because one or more lines are too long
0
docker/sql/upgrade/omc_db.sql
Normal file
0
docker/sql/upgrade/omc_db.sql
Normal file
5
docker/tar/README.md
Normal file
5
docker/tar/README.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Docker Image
|
||||||
|
|
||||||
|
- mysql:8.0.39 => mysql_8.0.39.tar
|
||||||
|
- redis:7.2.5 => redis_7.2.5.tar
|
||||||
|
- omc:2.2412.1 => omc_2.2412.1.tar
|
||||||
Reference in New Issue
Block a user