SuperAPI AI 工具集

docker-guide

部署与运维

查看项目

更新于 10-16 06:16

技能介绍

用途:本指南用于将 Shopify 应用(Remix 技术栈)容器化,以便在任意 VPS 或云服务商上获得一致的部署效果。

主要能力:

  1. 生产环境多阶段 Dockerfile:以 node:20-alpine 为基础镜像,依次构建依赖层、生产依赖层和应用构建层,最终镜像体积通常小于 200MB,且减少运行时暴露内容。命令包括 npm ci --include=dev、npm prune --omit=dev、npm run build,最终以 CMD ["npm", "run", "start"] 启动。若使用 pnpm,可将 package.json 与 pnpm-lock.yaml 一并复制。
  2. 本地开发 docker-compose.yml:在本地用 Docker 运行 Postgres 15-alpine 与 Redis 7-alpine,避免在宿主机安装。Postgres 暴露 5432 端口,Redis 暴露 6379 端口并使用 redis-server --save 60 1 --loglevel warning,数据通过 db_data 卷持久化。
  3. Shopify 应用注意事项:生产环境 SHOPIFY_APP_URL 必须与实际域名一致;在 Nginx 等代理后运行时需传递 X-Forwarded-Proto 请求头,否则 Remix/Shopify 鉴权可能误判为 HTTP 并拒绝会话。Remix 通常监听 3000 端口,可 EXPOSE 3000 后用 docker run -p 8080:3000 映射。若使用 sharp 等大量原生模块,Alpine 可能缺少依赖,构建失败时可从 node:20-alpine 切换为 node:20-slim。

常用命令:docker build -t my-shopify-app . 构建镜像;docker run -p 3000:3000 --env-file .env my-shopify-app 本地测试运行。

适用场景:需要将 Shopify/Remix 应用部署到任意服务器,并希望本地依赖环境与生产保持一致的开发者。

限制:资料未提供具体收费、许可与支持平台信息;镜像体积、端口等数值来自原文示例,实际以项目为准。