我正在研究下一個 JS 專案。我可以在本地機器上成功構建它。但是,當我嘗試對應用程式進行 docker 化并在 docker 映像中構建應用程式時,我在構建應用程式時遇到錯誤。從錯誤中我認為 docker build 找不到我的靜態影像檔案。但我可以瀏覽 docker image 中的檔案。
我的檔案結構
- 資產
-
- 影像檔案
- 成分
-
- 通用組件
- 資料
-
- 一些靜態資料
- 頁面
- 上市
- 風格
Dockerfile
FROM node:18-alpine3.14
RUN apk update && \
apk add --no-cache libc6-compat
ENV NEXT_TELEMETRY_DISABLED 1
ENV NODE_ENV production
ENV PORT 3000
EXPOSE 3000
COPY . /app
WORKDIR /app
RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app
USER appuser
RUN yarn install
RUN yarn build
ENTRYPOINT [ "sh", "entrypoint.sh" ]
入口點.sh
yarn start
構建期間的錯誤
info - Creating an optimized production build
Failed to compile.
./assets/company/employee/group.jpg
TypeError: Failed to parse URL from /app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.wasm
at new Request (node:internal/deps/undici/undici:4816:19)
at Agent2.fetch2 (node:internal/deps/undici/undici:5544:29)
at Object.fetch (node:internal/deps/undici/undici:6372:20)
at fetch (node:internal/bootstrap/pre_execution:199:25)
at instantiateAsync (/app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:424:28)
at createWasm (/app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:447:13)
at /app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:1480:19
at Object.instantiateEmscriptenWasm (/app/node_modules/next/dist/server/lib/squoosh/emscripten-utils.js:15:12)
at Object.dec (/app/node_modules/next/dist/server/lib/squoosh/codecs.js:156:42)
at Object.decodeBuffer (/app/node_modules/next/dist/server/lib/squoosh/impl.js:55:31)
Import trace for requested module:
./pages/ourcompany/OurStory.js
./assets/home/clientFeedBack/image/Ellipse 6-2.jpg
TypeError: Failed to parse URL from /app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.wasm
at new Request (node:internal/deps/undici/undici:4816:19)
at Agent2.fetch2 (node:internal/deps/undici/undici:5544:29)
at Object.fetch (node:internal/deps/undici/undici:6372:20)
at fetch (node:internal/bootstrap/pre_execution:199:25)
at instantiateAsync (/app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:424:28)
at createWasm (/app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:447:13)
at /app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:1480:19
at Object.instantiateEmscriptenWasm (/app/node_modules/next/dist/server/lib/squoosh/emscripten-utils.js:15:12)
at Object.dec (/app/node_modules/next/dist/server/lib/squoosh/codecs.js:156:42)
at Object.decodeBuffer (/app/node_modules/next/dist/server/lib/squoosh/impl.js:55:31)
Import trace for requested module:
./components/ClientFeedback.js
./pages/index.js
./assets/home/globalSection/Rectangle 32.jpg
TypeError: Failed to parse URL from /app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.wasm
at new Request (node:internal/deps/undici/undici:4816:19)
at Agent2.fetch2 (node:internal/deps/undici/undici:5544:29)
at Object.fetch (node:internal/deps/undici/undici:6372:20)
at fetch (node:internal/bootstrap/pre_execution:199:25)
at instantiateAsync (/app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:424:28)
at createWasm (/app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:447:13)
at /app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:1480:19
at Object.instantiateEmscriptenWasm (/app/node_modules/next/dist/server/lib/squoosh/emscripten-utils.js:15:12)
at Object.dec (/app/node_modules/next/dist/server/lib/squoosh/codecs.js:156:42)
at Object.decodeBuffer (/app/node_modules/next/dist/server/lib/squoosh/impl.js:55:31)
Import trace for requested module:
./pages/GlobalFamily.js
./assets/home/serviceSection/bg.jpg
TypeError: Failed to parse URL from /app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.wasm
at new Request (node:internal/deps/undici/undici:4816:19)
at Agent2.fetch2 (node:internal/deps/undici/undici:5544:29)
at Object.fetch (node:internal/deps/undici/undici:6372:20)
at fetch (node:internal/bootstrap/pre_execution:199:25)
at instantiateAsync (/app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:424:28)
at createWasm (/app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:447:13)
at /app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:1480:19
at Object.instantiateEmscriptenWasm (/app/node_modules/next/dist/server/lib/squoosh/emscripten-utils.js:15:12)
at Object.dec (/app/node_modules/next/dist/server/lib/squoosh/codecs.js:156:42)
at Object.decodeBuffer (/app/node_modules/next/dist/server/lib/squoosh/impl.js:55:31)
Import trace for requested module:
./pages/Services.js
./assets/home/serviceViewSection/Rectangle 420.jpg
TypeError: Failed to parse URL from /app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.wasm
at new Request (node:internal/deps/undici/undici:4816:19)
at Agent2.fetch2 (node:internal/deps/undici/undici:5544:29)
at Object.fetch (node:internal/deps/undici/undici:6372:20)
at fetch (node:internal/bootstrap/pre_execution:199:25)
at instantiateAsync (/app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:424:28)
at createWasm (/app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:447:13)
at /app/node_modules/next/dist/server/lib/squoosh/mozjpeg/mozjpeg_node_dec.js:1480:19
at Object.instantiateEmscriptenWasm (/app/node_modules/next/dist/server/lib/squoosh/emscripten-utils.js:15:12)
at Object.dec (/app/node_modules/next/dist/server/lib/squoosh/codecs.js:156:42)
at Object.decodeBuffer (/app/node_modules/next/dist/server/lib/squoosh/impl.js:55:31)
Import trace for requested module:
./pages/ServiceView.js
> Build failed because of webpack errors
我將不勝感激。
謝謝
uj5u.com熱心網友回復:
問題出在 alpine 發行版上。它是一個基本的 linux 包,沒有任何依賴關系。我們需要在這里安裝一些依賴項,專門用于處理 JPEG 影像。
更新代碼: Dockerfile
FROM node:lts-alpine3.14
RUN apk update && \
apk add --no-cache libc6-compat autoconf automake libtool make tiff jpeg zlib zlib-dev pkgconf nasm file gcc musl-dev
# COPY package.json .
RUN npm install -g npm
ENV NEXT_TELEMETRY_DISABLED 1
ENV NODE_ENV production
ENV PORT 3000
EXPOSE 3000
COPY . /app
WORKDIR /app
RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app
USER appuser
RUN yarn install
RUN yarn build
ENTRYPOINT [ "sh", "entrypoint.sh" ]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/482268.html
標籤:码头工人 网页包 码头工人撰写 下一个.js dockerfile
