docker配置基金实时估值

0 阅读2分钟

背景:只能每天晚上才能看基金涨跌很烦,偶然在github上发现一个实时基金估值的项目,配置一下

项目地址:github.com/hzm0321/rea…

项目准备:

  1. docker desktop
  2. node
  3. git

打开虚拟环境

很久没有用docker了,今天进去发现虚拟环境windows自己莫名其妙关闭了,如果进入docker desktop时弹出这个错误

微信图片_20260209132002_44_11.png

需要进入控制中心-程序,勾选hyper和windows虚拟机监控平台就行,重启后虚拟环境就打开了

部署

git clone https://github.com/hzm0321/real-time-fund.git
cd real-time-fund
# 克隆项目,进入文件

dir
查看项目文件夹里是否有Dockerfile文件,如果有,下一步直接构造镜像

docker build -t real-time-fund .

此时,第一个bug出现了,因为我在docker中配置的是阿里云镜像,并且docker镜像默认拉取的是node:22-bullseye,但是阿里云镜像中没有,所以我尝试在Dockerfile文件中把所有node:22-bullseye改写成node:18-alpine(两个FROM命令),然后再次尝试拉取镜像,注意,再次拉取镜像之前,最好清一下docker之前的构建缓存,否则依旧可能导致失败。 清缓存并且再构建:

docker build --no-cache -t real-time-fund .

这次构建镜像成功了,但是第二个bug出现了,因为next.js要求node版本大于20.9.0,因为我们把node版本降级成了18,所以需要把dockerfile文件中的18改成20。 然后重复上个指令,清除缓存再构建。

此时又发生了网络错误,气得我把docker desktop中的镜像源改了

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

更改完成后,记得重启docker desktop

再次拉取镜像:

docker pull node:20-alpine

此时,终于成功拉取了node镜像

构建成功后,运行容器即可:

docker run -d -p 3000:3000 --name fund-app real-time-fund

最后进入端口就好了,如果需要长期运行,设置自动重启就行。