Solution EDSON DEUCHER Posted July 24 Solution Share Posted July 24 (edited) Bom dia pessoal. Estou postando apenas para deixar documentado. Estava nessa jornada de fazer funcionar minha aplicação no Docker. Passei por quase todos os problemas postados aqui no fórum kkkkkkkk Porém teve um que quase me fez desistir, o "network subsystem is unusable" ao fazer qualquer comunicação com o SEFAZ. Segui todas as sugestões feitas no fórum, como copiar os .so junto da aplicação, fazer downgrade ou upgrade na versão do OpenSSL, etc., mas sem êxito. Neste momento eu estava usando o Ubuntu 20.04, porque haviam pessoas que fizeram funcionar nele, e o NodeJS 18. Não tinha como eu usar o NodeJS 12, porque meu código já não roda mais nesta versão, e não estava usando o NodeJS 20 porque tinha um package que só estava adapatado até o 18. Depois de muito bater cabeça, não consegui fazer funcionar com essas configurações. Aí pensei, quer saber, vou botar o Ubuntu 24.04, o NodeJS 20, tirar essa package que depende da versão 18 e testar assim para ver. Deu certo! Finalmente pude ser feliz kkkkkkk Vou colocar aqui o Dockerfile, mas não como anexo, pq teve vários posts que não consegui baixar. FROM sitespeedio/node:ubuntu-24-04-nodejs-20.15.1 ENV NODE_ENV=production ENV DISPLAY=:99 WORKDIR /usr/src/app # Instalando as dependências de build para os packages da aplicação RUN apt update && apt install -y --no-install-recommends g++ make cmake python3 # Instalando dependências do ACBrLib RUN echo "deb http://deb.debian.org/debian buster main contrib\n" >> /etc/apt/sources.list && \ apt install -y --no-install-recommends xvfb xauth RUN echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections && \ apt install -y perl ttf-mscorefonts-installer openssl libxml2 libgtk2.0-0 && \ ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2 /usr/lib/libxml2.so # Instalando os packages da aplicação RUN --mount=type=bind,source=package.json,target=package.json \ --mount=type=cache,target=/root/.npm \ npm i --omit=dev # Copiando os arquivos da aplicação para a imagem COPY . . # Esse openssl.cnf está alterado para aceitar legacy algorithms, conforme especificado num post do fórum do ACBr. # https://www.projetoacbr.com.br/forum/topic/75815-acbrnfe-programa-exemplo-para-linux/#comment-489652 # No windows é usado o legacy.dll COPY openssl.cnf /usr/lib/ssl/openssl.cnf # Criando usuário genérico para rodar a aplicação RUN adduser gpsfac # Marcando o usuário como dono da pasta da aplicação RUN chown -R gpsfac /usr/src/app # Rodando a aplicação como non-root user. USER gpsfac EXPOSE 8050 ENTRYPOINT ["bash", "/usr/src/app/run.sh"] # run.sh # Xvfb :99 -screen 0 1280x1024x24 -ac +extension GLX +render -nolisten tcp -nolisten unix &> /usr/src/app/xvfb_warning_dump.txt & \ # node server_bundle.js Edited July 24 by EDSON DEUCHER Postei sem querer, ainda faltava adicionar o script run.sh 3 1 Link to comment Share on other sites More sharing options...
Moderadores Juliomar Marchetti Posted July 24 Moderadores Share Posted July 24 Parabéns e obrigado por compartilhar Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now