0

I am using docker 20.x version and herewith I will post my package.json dev dependencies and docker file. In my case docker build image step is failing from npm install step.

Docker file:

FROM artifactory.global.standardchartered.com/gv-images-products/scb-bases/gts-1114/node-builder:20.11.0-micro-528704 as build

LABEL       maintainer="[email protected]"
LABEL       description="Wealth Management Advisory (WMA) - RM Portfolio Application"

ENV NODE_OPTIONS=--openssl-legacy-provider

USER root

# NOTE ON PROXIES
#
# When this Dockerfile is used to build an image from DevNet,
# it is necessary to pass HTTP_PROXY and HTTPS_PROXY as --build-arg:
#
#     docker build . -t mydockerimage \
#       --build-arg HTTP_PROXY=http://10.65.1.33:8080 \
#       --build-arg HTTPS_PROXY=http://10.65.1.33:8080
#
# When running the resulting image on DevNet, again it is required to
# pass the proxy:
#
#     docker run mydockerimage \
#       --env HTTP_PROXY=http://10.65.1.33:8080 \
#       --env HTTPS_PROXY=http://10.65.1.33:8080
#
# Note that using http_proxy/https_proxy (i.e. lowercase env var names)
# will not work for _building_ the image. This is because the build arguments
# are overwritten as a result of the way gcc_node is configured.

WORKDIR     /app
COPY         .npmrc *.js *.json ./
COPY         app ./app/
COPY         config ./config/
COPY         public ./public/
COPY         resources ./resources/
COPY         src ./src/
COPY         views ./views/

# server and app have different dependencies so they are installed as separate layers
RUN         npm config set registry https://artifactory.global.standardchartered.com/artifactory/api/npm/npm-release
RUN         npm install -g [email protected]
RUN         npm install --loglevel verbose
RUN         npm run server:build

# Remove node_modules and install for production only
RUN         rm -rf node_modules
RUN         npm install --production --loglevel verbose

# app dependencies are not needed after bundling, so we remove them
# package-lock.json refers to OSX native packages, so install without shrinkwrap
RUN         npm install --no-shrinkwrap --loglevel verbose --prefix app
RUN         NODE_ENV=production npm run build --prefix app
RUN         cd app && rm -rf node_modules

RUN         chmod -R 775 .

FROM artifactory.global.standardchartered.com/gv-images-products/scb-bases/gts-1114/node:20.11.0-micro-528746

WORKDIR     /app

COPY --from=build /app/build ./build

# OpenShift will make it run as a different user, we set it to `daemon` here so that we have a similar environment and can catch problems early

USER daemon

# Set default environment variables

ENV         LOG_PATH=/app/logs/wma/local/rm-portal \
            NODE_ENV=production            

EXPOSE      3000
CMD         node /build/index.js

this is my dev dependencies from package.json file:

"devDependencies": {

    "copy-webpack-plugin": "^5.1.2",

    "cross-env": "^5.2.0",

    "css-loader": "^5.0.1",

    "file-loader": "^6.0.0",

    "mini-css-extract-plugin": "^1.6.1",

    "sass": "^1.64.2",

    "resolve-url-loader": "^3.0.1",

    "sass-loader": "^8.0.2",

    "style-loader": "^2.0.0",

    "webpack": "^5.0.0",

    "webpack-cli": "^5.0.1",

    "webpack-dev-server": "^4.9.2"

}

and this is the error log.

Error message

this is the error message as a text:

ERROR in ./scss/main.scss
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/css-loader/dist/cjs.js):
Error: Can't resolve '. ./fonts/fontawesome-webfont.eot?v=4.7.0' in '/app/app/scss'
at finishWithoutResolve (/app/app/node_modules/enhanced-resolve/lib/Resolver.js:564:18)
at /app/app/node_modules/enhanced-resolve/lib/Resolver.js: 656:15
at /app/app/node_modules/enhanced-resolve/lib/Resolver.js: 714:5
at eval (eval at create (/app/app/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
at /app/app/node_modules/enhanced-resolve/lib/Resolver.js: 714:5
at eval (eval at create (/app/app/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:27:1)
at /app/app/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js: 89:43
at /app/app/node_modules/enhanced-resolve/lib/Resolver.js: 714:5
at eval (eval at create (/app/app/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
at /app/app/node_modules/enhanced-resolve/lib/Resolver. js: 714:5
at eval (eval at create (/app/app/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:16:1)
at /app/app/node_modules/enhanced-resolve/lib/Resolver.js: 714:5
at eval (eval at create (/app/app/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:16:1)
at /app/app/node_modules/enhanced-resolve/lib/Resolver. js: 714:5
at eval (eval at create (/app/app/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:27:1)
at /app/app/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js: 89:43
at processResult (/app/app/node_modules/webpack/lib/NormalModule.js:841:19)
at /app/app/node_modules/webpack/lib/NormalModule.js: 966:5
at /app/app/node_modules/loader-runner/lib/LoaderRunner. js: 400:11
at /app/app/node_modules/loader-runner/lib/LoaderRunner.js: 252:18
at context.callback (/app/app/node_modules/loader-runner/lib/LoaderRunner.js:124:13)
at Object. loader (/app/app/node_modules/css-loader/dist/index.js: 155:5)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
@ ./index.js 9:0-26

1 ERROR in child compilations (Use 'stats.children: true' resp. ' -- stats-children' for more details)
webpack 5.91.0 compiled with 2 errors in 7761 ms
Error: building at STEP "RUN NODE_ENV=production npm run build -- prefix app": while running runtime: exit status 1

Does anyone could please advise me how I can fix this issue?

I updated dev dependeies as above but still the issue is exist.

3
  • Hi @ranz, welcome to SO. Could you please edit your post and paste the error message as text, as opposed to link an image? Commented Apr 10, 2024 at 10:33
  • Hi @RuiJarimba thanks for the reply, I added the error message as a text. Commented Apr 10, 2024 at 13:59
  • The error message states that a font file is missing. Please verify that it exists and is copied into the container Error: Can't resolve '. ./fonts/fontawesome-webfont.eot?v=4.7.0' in '/app/app/scss' Commented Apr 10, 2024 at 15:48

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.