跳转至内容
There is a version suitable for your browser's language settings. Would you like to go to the english language of the site?
主页文档

Docker

H1

Docker 是一个虚拟容器。我们可以通过编写 Dockerfile 文件,将代码和环境打包成一个镜像,并随时将镜像以虚拟容器的形式运行。

# ------ 阶段 0: 生成、迁移数据库、打包可执行文件 ------
FROM oven/bun:debian as builder
ENV NODE_VERSION 22.1.0
WORKDIR /root/workspace/
COPY ./package.json .
COPY ./bun.lockb .
RUN chmod -R u=rwx . && bun i --no-cache
COPY . .
# 删除本地开发时使用的环境变量
RUN rm -f .env \
# 生成
&& bun run milkio gen \
# 打包出可执行文件
&& bun run build
# ------ 阶段 1: 将制品生成为最终镜像 ------
FROM oven/bun:1.1.8-slim as prod
WORKDIR /root/workspace/
COPY --from=0 /root/workspace/dist/* ./
RUN chmod -R u=rwx . /root/workspace/
CMD ["bun", "run", "run-serve.js"]

这份 Dockerfile 文件经过了精心优化。先安装依赖,再复制代码,可以使在依赖部分被缓存起来,加快每次构建镜像的速度。

如果你使用了 命令 并修改了默认的入口文件,不要忘记同时修改你 Dockerfile 文件末尾的 CMD 为新的入口文件:

CMD ["bun", "run", "run-command.js"]