侧边栏壁纸
博主头像
MicroMatrix 博主等级

明月别枝惊鹊,清风半夜鸣蝉

  • 累计撰写 122 篇文章
  • 累计创建 38 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Next.js Dockerfile 构建镜像时链接数据库

David
2025-07-27 / 0 评论 / 2 点赞 / 17 阅读 / 0 字

在接触了Next.js开发之后,我想大家通常都是部署在Vercel平台上。虽然这个平台很方便,但是也会有很多人需要将它部署在自己的服务器上。如何部署,在我的 优化 Next.js Docker 镜像:减少镜像大小的有效方法 文件中有介绍。

这里遇到的问题是Next.js在打包的时候需要生成sitemap.xml文件,这需要链接数据库操作,这也意味着你需要在打包成镜像的时候链接数据库。

平常我们通过.env文件来让程序读取参数,打包的时候没法读取.env文件,这个时候就需要docker 的命令了。

解决方法

Dockerfile 文件中加入环境参数

例如我在输出阶段的代码附近增加

# 传递构建参数
ARG DATABASE_URL

# 设置环境变量
ENV DATABASE_URL=$DATABASE_URL

使用如下命令,将数据库地址传入

docker build -t [镜像名称:latest] --build-arg DATABASE_URL=postgresql://postgres:[数据库密码]@[数据库地址]:5432/postgres --platform linux/amd64  .

这样就能在打包的时候链接数据库了

--build-arg 就是传递参数的

--platform 指定镜像的平台

2
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区