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"]
|
||||
|
||||
# 构建
|
||||
# docker build --build-arg VERSION=241101 -t omc:2.241101 .
|
||||
# docker run -it omc:2.241101 sh
|
||||
# docker build --build-arg VERSION=241211 -t omc:2.2412.1 .
|
||||
# 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
|
||||
|
||||
@@ -32,7 +32,7 @@ probject
|
||||
|
||||
```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 APPENV="prod" \
|
||||
-m 512M \
|
||||
--name omc2.241101 \
|
||||
omc:2.241101
|
||||
--name omc \
|
||||
omc:2.2412.1
|
||||
|
||||
```
|
||||
|
||||
## 镜像导出导入
|
||||
|
||||
```sh
|
||||
docker save omc:2.241101 -o omc_r2.241101.tar
|
||||
|
||||
docker load -i omc_r2.241101.tar
|
||||
```
|
||||
|
||||
## 调试
|
||||
|
||||
```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
|
||||
|
||||
```
|
||||
|
||||
## 镜像导出导入
|
||||
|
||||
```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
|
||||
count: 2
|
||||
|
||||
pprof:
|
||||
enabled: true
|
||||
addr: :33060
|
||||
|
||||
# rest agent listen ipv4/v6 and port, support multiple routines
|
||||
# ip: 0.0.0.0 or ::0, support IPv4/v6
|
||||
# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert,
|
||||
@@ -28,19 +24,19 @@ database:
|
||||
type: mysql
|
||||
user: root
|
||||
password: "1000omc@kp!"
|
||||
host: "192.168.9.58"
|
||||
port: 13306
|
||||
host: "omc_mysql"
|
||||
port: 3306
|
||||
name: "omc_db"
|
||||
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:
|
||||
dataSource:
|
||||
# OMC system db
|
||||
default:
|
||||
port: 16379 # Redis port
|
||||
host: "192.168.9.58" # Redis host
|
||||
port: 6379 # Redis port
|
||||
host: "omc_redis" # Redis host
|
||||
password: "helloearth"
|
||||
db: 10 # Redis db_num
|
||||
# used to specify the default data source for multiple data resourece
|
||||
@@ -54,12 +50,11 @@ mml:
|
||||
sizeRow: 600
|
||||
sizeCol: 128
|
||||
bufferSize: 65535
|
||||
mmlHome: ./mmlhome
|
||||
|
||||
# Tracking configuration
|
||||
trace:
|
||||
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
|
||||
|
||||
# NE config
|
||||
@@ -93,12 +88,12 @@ omc:
|
||||
checksign: false
|
||||
rootDir: ./
|
||||
binDir: ./bin
|
||||
backup: C:/usr/local/omc/backup
|
||||
upload: C:/usr/local/omc/upload
|
||||
frontUpload: C:/usr/local/omc/upload
|
||||
frontTraceDir: C:/usr/local/omc/trace
|
||||
software: C:/usr/local/omc/software
|
||||
license: C:/usr/local/omc/license
|
||||
backup: /usr/local/omc/backup
|
||||
upload: /usr/local/omc/upload
|
||||
frontUpload: /usr/local/omc/upload
|
||||
frontTraceDir: /usr/local/omc/trace
|
||||
software: /usr/local/omc/software
|
||||
license: /usr/local/omc/license
|
||||
gtpUri: gtp:192.168.2.219:2152
|
||||
checkContentType: false
|
||||
testMode: false
|
||||
@@ -150,8 +145,8 @@ auth:
|
||||
token: true
|
||||
expires: 1800
|
||||
session: multiple
|
||||
publicKey: ./etc/certs/omc_pub.key
|
||||
privateKey: ./etc/certs/omc_pri.key
|
||||
publicKey: /usr/local/omc/certs/omc_pub.key
|
||||
privateKey: /usr/local/omc/omc_pri.key
|
||||
|
||||
# Parameter for limit number
|
||||
# rmuid_maxnum: the max number of rmUID, default: 50
|
||||
@@ -168,11 +163,13 @@ params:
|
||||
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}"
|
||||
|
||||
# 静态文件配置, 相对项目根路径或填绝对路径
|
||||
# Static file configuration, relative to the project root path or fill in the absolute path
|
||||
staticFile:
|
||||
# 默认资源,dir目录需要预先创建
|
||||
# Default resources, dir directories need to be pre-created
|
||||
default:
|
||||
prefix: "/static"
|
||||
dir: "/usr/local/etc/omc/static"
|
||||
# 文件上传资源目录映射,与项目目录同级
|
||||
# File upload resource directory mapping, same level as project directory
|
||||
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