fix: 更新Docker构建脚本
This commit is contained in:
@@ -20,8 +20,10 @@ COPY --from=build-node /web/dist /web
|
||||
COPY --from=build-node /api /api
|
||||
COPY --from=build-node /linux /linux
|
||||
|
||||
# 更换镜像源
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||
# 安装其他依赖
|
||||
RUN apk add gcc musl-dev libpcap-dev
|
||||
RUN apk update && apk add gcc musl-dev libpcap-dev && rm -rf /var/cache/apk/*
|
||||
|
||||
# 设置变量
|
||||
ENV CGO_ENABLED=1
|
||||
@@ -53,10 +55,11 @@ ENV LANG="en_US.UTF-8"
|
||||
ENV TZ="Asia/Shanghai"
|
||||
WORKDIR /usr/local/etc/omc
|
||||
|
||||
COPY --from=build-golang /linux /
|
||||
COPY --from=build-golang /web /usr/local/etc/omc/web
|
||||
COPY --from=build-golang /linux/lib/systemd/system/* /lib/systemd/system
|
||||
COPY --from=build-golang /linux/usr/local/* /usr/local
|
||||
COPY --from=build-golang /api/omc /usr/local/bin/omc
|
||||
COPY --from=build-golang /api/sshsvc/sshsvc /usr/local/bin/sshsvc
|
||||
COPY --from=build-golang /web /usr/local/etc/omc/web
|
||||
|
||||
EXPOSE 80 443 33030
|
||||
|
||||
@@ -66,3 +69,5 @@ CMD ["/sbin/init"]
|
||||
# docker build --platform linux/amd64 --build-arg VERSION=2.2505.2 -t omc:2.2505.2 .
|
||||
# docker run -it omc:2.2505.2 sh
|
||||
# service ssh start && service nginx start && /usr/local/bin/omc --env prod -c /usr/local/etc/omc/omc.yaml
|
||||
# docker run --rm omc:r1.0.0-docker-ubuntu22.04-amd64 bash
|
||||
# docker run --privileged=true --restart=always -m 512M --name omc_2.2505.2 -d omc:r1.0.0-docker-ubuntu22.04-amd64
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
OMC_CONTAINER_NAME="omc"
|
||||
MYSQL_CONTAINER_NAME="omc_mysql"
|
||||
REDIS_CONTAINER_NAME="omc_redis"
|
||||
OMC_CONTAINER_NAME="omc_{version}_{arch}"
|
||||
MYSQL_CONTAINER_NAME="omc_mariadb_10.6.21_{arch}"
|
||||
REDIS_CONTAINER_NAME="omc_keydb_6.3.4_{arch}"
|
||||
|
||||
# usage
|
||||
usage() {
|
||||
@@ -16,9 +16,9 @@ install(){
|
||||
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):"
|
||||
echo "Select the image in the tar directory (omc_{version}_{arch}.tar):"
|
||||
read OMC_FILE
|
||||
OMC_FILE=${OMC_FILE:-"omc_2.2412.1.tar"}
|
||||
OMC_FILE=${OMC_FILE:-"omc_{version}_{arch}.tar"}
|
||||
echo "Container time zone (Asia/Shanghai):"
|
||||
read OMC_TZ
|
||||
OMC_TZ=${OMC_TZ:-"Asia/Shanghai"}
|
||||
@@ -53,16 +53,14 @@ install(){
|
||||
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"
|
||||
docker load --input $(pwd)/tar/mariadb_10.6.21_{arch}.tar
|
||||
MYSQL_IMAGE="mariadb-{arch}:10.6.21"
|
||||
MYSQL_ROOT_PASSWORD="1000omc@kp!"
|
||||
SQL_FILE_PATH="$(pwd)/sql/install/omc_db.sql"
|
||||
MYSQL_DATA=/usr/local/etc/$MYSQL_CONTAINER_NAME/data
|
||||
@@ -82,14 +80,14 @@ install(){
|
||||
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"
|
||||
docker load --input $(pwd)/tar/keydb_6.3.4_{arch}.tar
|
||||
REDIS_IMAGE="keydb-{arch}:6.3.4"
|
||||
REDIS_PASSWORD="helloearth"
|
||||
REDIS_DATA=/usr/local/etc/$REDIS_CONTAINER_NAME/data
|
||||
mkdir -p $REDIS_DATA
|
||||
docker run --privileged=true --restart=always -e TZ="$OMC_TZ" \
|
||||
-e REDIS_PASSWORD=$REDIS_PASSWORD \
|
||||
-v $REDIS_DATA:/data \
|
||||
-e KEYDB_PASSWORD=$REDIS_PASSWORD \
|
||||
-v $REDIS_DATA:/bitnami/keydb/data \
|
||||
--network $NETWORK \
|
||||
--name $REDIS_CONTAINER_NAME \
|
||||
-d $REDIS_IMAGE
|
||||
@@ -102,19 +100,8 @@ install(){
|
||||
|
||||
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/tmp:/tmp/omc \
|
||||
-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_HTTP_PORT:80 \
|
||||
-p $OMC_HTTPS_PORT:443 \
|
||||
|
||||
Reference in New Issue
Block a user