You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Remix项目Docker构建中npm run build显示成功后挂起求助

Docker构建在输出构建成功提示后挂起的排查求助

我的Docker构建在输出构建成功的提示后出现挂起,无法继续后续步骤,且难以获取错误信息,排查受阻。本地执行vite build可正常完成,本次本地构建是为了复现Heroku部署时遇到的相同问题。

已尝试的操作:

  • 更新Docker
  • 重启容器、重启电脑
  • 回滚至可正常运行的代码版本
  • 修改Dockerfile添加调试步骤
  • 等待超过一小时确认无法自动恢复

构建日志

docker build --no-cache .
[+] Building 1287.9s (10/12)                          docker:desktop-linux
 => [internal] load build definition from Dockerfile                  0.0s
 => => transferring dockerfile: 512B                                  0.0s
 => [internal] load metadata for docker.io/library/node:18-alpine     0.8s
 => [auth] library/node:pull token for registry-1.docker.io           0.0s
 => [internal] load .dockerignore                                     0.0s
 => => transferring context: 66B                                      0.0s
 => [1/7] FROM docker.io/library/node:18-alpine@sha256:a25c1e4ecc284  0.0s
 => [internal] load build context                                     0.1s
 => => transferring context: 160.43kB                                 0.1s
 => CACHED [2/7] WORKDIR /app                                         0.0s
 => [3/7] COPY . .                                                    0.2s
 => [4/7] RUN npm install --omit=dev                                 16.1s
 => [5/7] RUN npm remove @shopify/app @shopify/cli                    1.4s 
 => [6/7] RUN npm run build                                        1269.3s 
 => => # kB │ gzip:  43.31 kB                                              
 => => # build/client/assets/context-BlhKCYcd.js                   154.68  
 => => # kB │ gzip:  17.73 kB                                              
 => => # build/client/assets/app.textEditor._blog._id-BM8eDdfO.js  314.49  
 => => # kB │ gzip: 106.13 kB                                             
 => => # ✓ built in 3.25s                                                 

Dockerfile

FROM node:18-alpine

WORKDIR /app
COPY . .

# Install dependencies with more verbose output
RUN npm install --omit=dev --verbose

# Remove Shopify CLI (as you're doing)
RUN npm remove @shopify/app @shopify/cli --verbose

# Build step
RUN npm run build

# Add debugging steps
RUN echo "Listing build output directory:"
RUN ls -la build/

# Generate Prisma client separately from start script
RUN npx prisma generate

# Start command with more visibility
CMD ["sh", "-c", "echo 'Starting app...' && npm run start"]

package.json

{
  "name": "devsandbox2",
  "private": true,
  "scripts": {
    "build": "vite build && vite build --ssr",
    "dev": "shopify app dev",
    "config:link": "shopify app config link",
    "generate": "shopify app generate",
    "deploy": "shopify app deploy",
    "config:use": "shopify app config use",
    "env": "shopify app env",
    "start": "remix-serve ./build/server/index.js",
    "docker-start": "npm run start",
    "docker-setup": "prisma generate && prisma migrate deploy",
    "setup": "prisma generate && prisma migrate deploy",
    "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint .",
    "shopify": "shopify",
    "prisma": "prisma",
    "graphql-codegen": "graphql-codegen",
    "vite": "vite"
  },
  "type": "module",
  "dependencies": {
    "@prisma/client": "^5.11.0",
    "@remix-run/dev": "^2.7.1",
    "@remix-run/node": "^2.7.1",
    "@remix-run/react": "^2.7.1",
    "@remix-run/serve": "^2.7.1",
    "@shopify/app-bridge-react": "^4.1.3",
    "@shopify/polaris": "^12.27.0",
    "@shopify/shopify-api": "^10.0.0",
    "@shopify/shopify-app-remix": "^2.8.2",
    "@shopify/shopify-app-session-storage-prisma": "^4.0.5",
    "@tinymce/tinymce-react": "^5.1.1",
    "@types/he": "^1.2.3",
    "form-data": "^4.0.0",
    "he": "^1.2.0",
    "image-extensions": "^1.1.0",
    "is-url": "^1.2.4",
    "isbot": "^5.1.0",
    "lodash.debounce": "^4.0.8",
    "nanoid": "^5.0.7",
    "next": "^14.2.5",
    "prisma": "^5.11.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "slate": "^0.103.0",
    "slate-history": "^0.109.0",
    "slate-hyperscript": "^0.100.0",
    "slate-react": "^0.107.1",
    "styled-components": "^6.1.12",
    "vite-tsconfig-paths": "^4.3.1"
  },
  "devDependencies": {
    "@remix-run/eslint-config": "^2.7.1",
    "@shopify/api-codegen-preset": "^0.0.7",
    "@shopify/app-bridge-types": "^0.0.11",
    "@types/eslint": "^8.40.0",
    "@types/is-url": "^1.2.32",
    "@types/node": "^20.6.3",
    "@types/react": "^18.2.31",
    "@types/react-dom": "^18.2.14",
    "eslint": "^8.42.0",
    "eslint-config-prettier": "^9.1.0",
    "prettier": "^3.2.4",
    "typescript": "^5.2.2",
    "vite": "^5.1.3"
  },
  "workspaces": [
    "extensions/*"
  ],
  "trustedDependencies": [
    "@shopify/plugin-cloudflare"
  ],
  "resolutions": {
    "undici": "6.13.0"
  },
  "overrides": {
    "undici": "6.13.0"
  },
  "author": "beckett"
}

恳请提供排查思路或可能的原因。

内容的提问来源于stack exchange,提问作者Beckett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 05:59:54