Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.2K
Vistas
El comando '/bin/sh devolvió un código distinto de cero: 1

Cuando intento instalar un archivo bin manualmente dentro de un contenedor Docker de ubuntu, funciona perfectamente.

 ./MyBinfile.bin

pero cuando lo intento desde mi Dockerfile, siempre aparece el error: El comando '/bin/sh -c chmod +x /tmp/snapcenter_linux_host_plugin.bin && ./tmp/MyBinFile.bin' devolvió un código distinto de cero: 1

Mi Dockerfile se parece a:

 FROM debian:jessie RUN apt-get update && apt-get install -y openjdk-7-jdk ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64 RUN echo $JAVA_HOME COPY MyBinFile.bin /tmp/MyBinFile.bin RUN chmod +x /tmp/MyBinFile.bin && ./tmp/MyBinFile.bin

¿Alguien puede ayudarme en este caso?

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Copió MyBinFile.bin a /tmp/MyBinFile.bin. Esos no son el mismo archivo. Si necesita ejecutarlo, use la ruta absoluta para el archivo que tiene un atributo ejecutable. Así que tu última línea debería ser:

 RUN chmod +x /tmp/MyBinFile.bin && /tmp/MyBinFile.bin

'.' (punto) representa su directorio de trabajo actual actual. Se recomienda usar siempre rutas absolutas si no está seguro de cuál es su cwd.

EDITAR

Ejecutar su Dockerfile produce el siguiente resultado:

 Sending build context to Docker daemon 3.584 kB Step 1/6 : FROM debian:jessie ---> 8cedef9d7368 Step 2/6 : RUN apt-get update && apt-get install -y openjdk-7-jdk ---> Using cache ---> 1a0005923f41 Step 3/6 : ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64 ---> Using cache ---> 5651d50b519e Step 4/6 : RUN echo $JAVA_HOME ---> Using cache ---> 96655235a2cf Step 5/6 : COPY MyBinFile.bin /tmp/MyBinFile.bin ---> 60c79aaf5aca Removing intermediate container cd729c315e9b Step 6/6 : RUN chmod +x /tmp/MyBinFile.bin && /tmp/MyBinFile.bin ---> Running in 5db126cbd24c /bin/sh: 1: /tmp/MyBinFile.bin: Text file busy The command '/bin/sh -c chmod +x /tmp/MyBinFile.bin && /tmp/MyBinFile.bin' returned a non-zero code: 2

Pero si separo tu último paso en dos pasos diferentes:

 FROM debian:jessie RUN apt-get update && apt-get install -y openjdk-7-jdk ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64 RUN echo $JAVA_HOME COPY MyBinFile.bin /tmp/MyBinFile.bin RUN chmod +x /tmp/MyBinFile.bin RUN /tmp/MyBinFile.bin

entonces se ejecuta OK.

about 4 years ago · Santiago Trujillo Denunciar

0

Tuve un problema similar al ejecutar NextJs dentro de Docker. Así es como resolví el problema:

Nota: esta solución también resolverá el EACCES error...Permission denied al acceder a archivos dentro de la aplicación dockerizada, por ejemplo, páginas de ruta.

Agregué el usuario root inmediatamente antes del comando para cambiar la propiedad y luego volví a ejecutar el resto de los comandos junto con el contenedor con el usuario non-root , es decir, el usuario del node de la imagen alpina base.

 # The "./" is the working directory eg /usr/app USER root RUN chmod a+w ./ -R # Later switch back to run rest of commands and container as node non-root user USER node
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda