侧边栏壁纸
  • 累计撰写 97 篇文章
  • 累计创建 43 个标签
  • 累计收到 12 条评论

目 录CONTENT

文章目录

Docker部署“dailyhot”

sevenchen
2024-04-27 / 0 评论 / 0 点赞 / 127 阅读 / 4267 字 / 正在检测是否收录...
温馨提示:
本站作为参考使用 禁止非法用途 后果概不负责 转载请保留出处:鑫仔博客:https://www.xinz.fun 部分文章维护作者群:DIY NAS_1群:874649129 -2群:772356359
广告 广告

介绍

一个聚合了中文热门站点数据的项目, 不出户,知天下!

该项目分两部分:今日热榜API及前端页面

示例站点:https://hot.imsyy.top/

GitHub地址-API:imsyy/DailyHotApi: 今日热榜 API,一个聚合热门数据的 API 接口

GitHub地址-前端:imsyy/DailyHot: DailyHot 今日热榜前端页面

docker镜像-API:liwangsheng/dailyhot-api - Docker Image | Docker Hub

docker镜像-前端:liwangsheng/dailyhot-web - Docker Image | Docker Hub

Docker部署

看到好玩的项目,第一件事就是打包成docker镜像😋

x64架构可跳过构建阶段直接使用我的镜像

构建镜像

API镜像

0102030405# 拉取代码
git clone https://github.com/imsyy/DailyHotApi.git

# 进入目录
cd DailyHotApi/

编辑Dockerfile,如下:

010203040506070809FROM alpine

WORKDIR /app

COPY . .

RUN apk update && apk add nodejs npm && npm install

CMD ["npm","start"]
0102# 构建镜像
docker build -t dailyhot-api .

前端镜像

0102030405060708# 拉取代码
git clone https://github.com/imsyy/DailyHot.git

# 进入目录
cd DailyHot/

# 编辑start.sh脚本
vim start.sh

要将API 地址及备案号作为环境变量传入打包好的静态资产并构建镜像需要写一个脚本,内容如下:

0102030405060708#!/bin/ash

# 替换 API 地址及备案号
find '/app' -name '*.js' -exec sed -i -e 's,http://localhost:6688,'"$API"',g' {} \;
find '/app' -name '*.js' -exec sed -i -e 's,豫ICP备2022018134号-1,'"$ICP"',g' {} \;

# # 启动 httpd 服务器
httpd -f -p 80 -h /app
0102# 添加执行权限
chmod +x start.sh

编辑Dockerfile:

01020304050607080910111213141516171819202122232425FROM node:16-alpine

WORKDIR /app

COPY package.json .

RUN npm install

COPY . .

RUN npm run build

FROM busybox:1.35.0-uclibc

WORKDIR /app

COPY --from=0 /app/dist .

COPY --from=0 /app/start.sh .

ENV API="https://api-hot.imsyy.top"

ENV ICP="豫ICP备2022018134号-1"

CMD ["/app/start.sh"]
0102# 构建镜像
docker build -t dailyhot-web .

运行

API容器

010203040506docker run -d \
    --name dailyhot-api \
    --restart always \
    -p 6688:6688 \
    -e ALLOWED_DOMAIN="https://hot.imsyy.top" \  # 可选,指定允许的前端域名
    liwangsheng/dailyhot-api

访问 ip:6688即可看到api服务

前端容器
01020304050607docker run -d \
    --name dailyhot-web \
    -p 6677:80 \
    -e API="https://hot-api.bbit.fun" \
    -e ICP="没有备案捏" \
    --restart always \
    liwangsheng/dailyhot-web

修改刚刚搭建的api地址以及备案号,访问ip:6677即可看到热榜

最后

如果有问题或需要改进的地方请评论回复我😇

如果觉得文章对你有用,请随意赞赏

0
广告 广告

评论区