部署到 node

编程入门 行业动态 更新时间:2024-10-02 20:22:30

部署到 <a href=https://www.elefans.com/category/jswz/34/1771450.html style=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

更多推荐

部署到 node

本文发布于:2024-05-30 13:28:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770544.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:node

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!