Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

341
Views
La imagen de Docker no se puede compilar en AWS EC2 Linux pero funciona cuando se compila en Windows y Mac

Cuando ejecuto docker-compose build minexample con los siguientes 3 archivos en Mac o Windows, la imagen se crea correctamente. Pero cuando trato de hacer lo mismo en una instancia EC2 de AWS Linux 2, falla al ejecutar el script de instalación node-sass (consulte a continuación).

Después de muchas pruebas y errores durante 2 días, me di cuenta de que el problema desaparece si bajo la versión de react-scripts a "3.0.0". Eso también significaría que necesito reducir eslint en mi dependencia de desarrollo (que no incluyo en el ejemplo mínimo) de 7.12.0 a 5.16.0.

Tengo algunas preguntas:

  1. ¿Cómo puede la compilación docker tener éxito en Mac/Windows y fallar en Linux? Pensé que se suponía que los contenedores eran un entorno aislado, pero de alguna manera el sistema operativo host afectó el resultado aquí.
  2. ¿Cómo averiguo qué versiones de paquetes de nodos están en conflicto? Tomó mucho tiempo a través de prueba y error darse cuenta de que bajar la versión react-script arregló (u ocultó) el problema.

paquete.json

 { "name": "minexample", "version": "1.0.0", "dependencies": { "node-sass": "4.12.0", "react": "16.14.0", "react-dom": "16.14.0", "react-router": "5.0.0", "react-router-dom": "5.0.0", "react-scripts": "4.0.2" }, "devDependencies": { }, "scripts": { "start": "react-scripts start" } }

Dockerfile

 FROM node:10.16.0-alpine AS build RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ENV PATH /usr/src/app/node_modules/.bin:$PATH # cache dependencies COPY ./package.json /usr/src/app/package.json RUN npm install

docker-compose.yml

 version: '3.7' services: minexample: build: context: ./ dockerfile: Dockerfile container_name: minexample

Error

 > node-sass@4.12.0 install /usr/src/app/node_modules/node-sass > node scripts/install.js The command '/bin/sh -c npm install' returned a non-zero code: 1 ERROR: Service 'minexample' failed to build
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Basado en los comentarios.

Traté de replicar el problema, pero en mis pruebas, la imagen de la ventana acoplable se creó correctamente .

Instancia utilizada, t2.small (no se ha probado con t2.micro ).

AmazonLinux 2:

 NAME="Amazon Linux" VERSION="2" ID="amzn" ID_LIKE="centos rhel fedora" VERSION_ID="2" PRETTY_NAME="Amazon Linux 2" ANSI_COLOR="0;33" CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2" HOME_URL="https://amazonlinux.com/"

Estibador

 docker --version Docker version 19.03.13-ce, build 4484c46

docker-compose

 docker-compose --version docker-compose version 1.28.4, build cabd5cfb

construir imagen

 docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE a_minexample latest 82968af21096 24 minutes ago 426MB node 10.16.0-alpine 9dfa73010b19 20 months ago 75.3MB
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!