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

1.4K
Views
¿Cómo solucionar el error inesperado del operador de Docker?

Soy un supernovato con respecto a Docker y recientemente cambié un proyecto de App Engine a Cloud Run. Fue fácil, me encantó.

Ahora, sin embargo, estoy tratando de actualizar la imagen (ya que agregué un código nuevo). Entiendo que necesito ingresar a un contenedor real para actualizar una imagen (¿creo?), Pero cuando intento docker run , aparece un error unexpected operator .

Me está volviendo absolutamente loco.

No puedo iniciar el contenedor. No puedo editar mi imagen. No puedo cargar una nueva versión en Cloud Run.

Por lo que puedo deducir, un error unexpected operator tiene que ver con el Dockerfile. Entonces, aquí está mi Dockerfile (según lo proporcionado por Google para implementar una imagen en Cloud Run).

Dockerfile

 #Use the official Node.js 10 image #https://hub.docker.com/_/node FROM node:10 #Create and change to the app directory WORKDIR /usr/src/app #Copy application dependency manifests to the container image. #A wild card is used to ensure both package.json AND package-lock.json are copied. #Copying this separately prevents re0running npm install on every code change. COPY *package.json ./ #Install production dependences RUN npm install --only=production #COPY local code to the container image COPY . . #Run the web service on container startup CMD [ "npm", "start" ]

El error unexpected operator específico que recibo es /bin/sh: 1: [: npm.: unexpected operator

Sinceramente, no sé qué hacer en este momento. Creo que necesito un segundo par de ojos para examinarlo.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Apuesto a que limpió su código, intencionalmente o no, cuando proporcionó el fragmento de código CMD [ "npm", "start" ] Era casi seguro que era CMD [ "npm" "start" ] cuando creó inicialmente el image e intenté ejecutarlo como un contenedor.

Separando el mensaje de error: /bin/sh: 1: [: npm.: unexpected operator

Le dice que el script de shell tiene un problema en la línea uno. ¿Qué script de shell? El script de shell que se activa con la línea CMD. La parte de la línea 1 se debe a que, tomada en el contexto de la ejecución de CMD, esa es la única línea.

Luego dice, de manera bastante ilegible, que tiene un problema después de la declaración npm. La forma más fácil de causar eso accidentalmente es olvidar la coma.

Dado que aparentemente pudiste poner las cosas en marcha más tarde, lo más probable es que:

  • Compiló la imagen desde Dockerfile con la coma faltante
  • Intenté ejecutar la imagen como un contenedor y no funcionó debido a la CMD rota en la imagen construida.
  • Arreglado el error
  • Intenté ejecutar la imagen aún rota como contenedor y no funcionó porque estaba usando la misma imagen.
  • Publicó su código aquí, ahora con la solución en su lugar, pero parece que no funciona porque todavía estaba ejecutando la imagen anterior
  • Obtuve consejos aquí, incluido probar una reconstrucción
  • Reconstruyó una nueva imagen del Dockerfile, recogiendo la coma fija
  • Ejecuté la nueva imagen como un contenedor y todo pareció arreglarse mágicamente
over 4 years ago · Santiago Trujillo Report

0

Tienes que reconstruir la imagen desde Dockerfile después de cada cambio

 docker build --tag="npm_app:latest" -f Dockerfile . docker run npm_app
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!