Docker部署

  1. 拉取基础镜像

    [root@ecs ~]# docker pull registry.cn-shanghai.aliyuncs.com/maisi/node:22-alpine
    [root@ecs ~]# docker tag registry.cn-shanghai.aliyuncs.com/maisi/node:22-alpine node:22-alpine
    [root@ecs ~]# docker pull registry.cn-shanghai.aliyuncs.com/maisi/golang:1.25.11-bookworm
    [root@ecs ~]# docker tag registry.cn-shanghai.aliyuncs.com/maisi/golang:1.25.11-bookworm golang:1.25.11-bookworm
  2. 构建镜像

    [root@ecs ~]# unzip tianji-master.zip
    [root@ecs ~]# cd tianji-master
    [root@ecs tianji-master]# cat > ./debian.tmp << 'EOF'
    RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && \
        sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && \
        apt-get update && \
        apt-get install -y --no-install-recommends git ca-certificates tzdata && \
        rm -rf /var/lib/apt/lists/*
    
    ENV GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
    EOF
    [root@ecs tianji-master]# sed -i '/AS reporter/r ./debian.tmp' Dockerfile
    [root@ecs tianji-master]# sed -i '/AS base/a\RUN sed -i '\''s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g'\'' /etc/apk/repositories' Dockerfile
    [root@ecs tianji-master]# sed -i '/pnpm@10.27.0/s#$# --registry=https://registry.npmmirror.com#g' Dockerfile
    [root@ecs tianji-master]# sed -i '/AS static/a\RUN pnpm config set registry https://registry.npmmirror.com' Dockerfile
    [root@ecs tianji-master]# sed -i '/AS app/a\RUN pnpm config set registry https://registry.npmmirror.com' Dockerfile
    [root@ecs tianji-master]# sed -i '/ENV VITE_VERSION/i\ENV VERCEL=true' Dockerfile
    [root@ecs tianji-master]# sed -i '/COPY --from=static \/app\/tianji\/geo/s/^/# /g' Dockerfile
    [root@ecs tianji-master]# docker build -t tianji .
  3. 创建容器

    [root@ecs ~]# docker run --name tianji \
    --restart=unless-stopped \
    -e DATABASE_URL=postgresql://tianji:xpzTkwEL1IcU28dF@192.168.1.3:5432/tianji_db?schema=public \
    -p 12345:12345 \
    -v /data/tianji/geo/GeoLite2-City.mmdb:/app/tianji/geo/GeoLite2-City.mmdb:rw \
    -d tianji

    管理地址:http://192.168.3.103:12345/login,初始用户名/密码:admin/admin。

标签: none

添加新评论