最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

部署到 node

网站源码admin47浏览0评论

部署到 node

部署到 node

大家!也许有人可以帮助我解决 docker 容器中 NodeJS 应用程序的问题。 简单来说,我有一个带有 puppeteer 和 chrome 的网络抓取工具,它从网站(俄语)获取所需信息并将其显示给用户。 它在我的 Linux (Fedora) 系统和 Windows 系统中工作得很好,但是当我尝试将它部署到 node-latest 或 node-alpine 图像而不是俄语字母时,我得到了这个符号: Íîâîñòè 或 Èáó÷àþùåå âèäåî 或 Ýëåêòðíííàÿ ìóçûêà

这是我的 Dockefile:

FROM node:20-alpine

ENV MUSL_LOCALE_DEPS cmake make musl-dev gcc gettext-dev libintl
ENV MUSL_LOCPATH /usr/share/i18n/locales/musl

RUN apk add font-vollkorn font-misc-cyrillic font-mutt-misc font-screen-cyrillic font-winitzki-cyrillic font-cronyx-cyrillic

RUN apk add --no-cache \
    $MUSL_LOCALE_DEPS \
    && wget .zip \
    && unzip musl-locales-master.zip \
      && cd musl-locales-master \
      && cmake -DLOCALE_PROFILE=OFF -D CMAKE_INSTALL_PREFIX:PATH=/usr . && make && make install \
      && cd .. && rm -r musl-locales-master

ENV LANG ru_RU.UTF-8
ENV LANGUAGE ru_RU.UTF-8
ENV LC_ALL ru_RU.UTF-8

RUN apk add --no-cache \
      chromium \
      nss \
      freetype \
      harfbuzz \
      ca-certificates \
      ttf-freefont 

ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser

WORKDIR /app
COPY . /app
RUN cd /app
RUN npm i
RUN npm i -g @nestjs/cli
CMD npm run start

如您所见,我尝试安装西里尔字体和系统 LANG LANGUAGE 和 LC_ALL 变量,但所有尝试都失败了,我仍然得到这些符号。

回答如下:

好吧,不确定实际问题是什么,但我已经设法用 node:latest 和 chromium 解决了我的问题,如下所示:

FROM node:latest

RUN apt-get update -y && apt-get upgrade -y
RUN apt-get -y install chromium
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium

WORKDIR /app
COPY . /app
RUN cd /app
RUN yarn install --prod
RUN yarn add source-map-support
RUN yarn global add @nestjs/cli
CMD yarn run build && yarn run start

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论