library - dockerfile example
Exec de ejecuciĆ³n de OCI en tiempo de ejecuciĆ³n: exec fallido:(...) el archivo ejecutable no se encuentra en $ PATH ": desconocido (4)
Deshazte de tus citas alrededor de tu comando. Cuando lo cita, la ventana acoplable intenta ejecutar la cadena completa "lsb_release -a"
como un comando, que no existe. En su lugar, desea ejecutar el comando lsb_release
con un argumento -a
, y sin comillas.
sudo docker exec -it c44f29d30753 lsb_release -a
Tenga en cuenta que todo después del nombre del contenedor es el comando y los argumentos para ejecutarse dentro del contenedor, la ventana acoplable no procesará nada de eso como opciones para el comando de la ventana acoplable.
He acoplado una aplicación que tiene ffmpeg instalado a través de libav-tools. La aplicación se inicia sin problemas, pero el problema se produjo cuando fluent-ffmpeg npm module intentó ejecutar el comando ffmpeg, que no se encontró. Cuando quise verificar la versión de ffmpeg y la distribución de linux configurada en la imagen, sudo docker exec -it c44f29d30753 "lsb_release -a"
comando sudo docker exec -it c44f29d30753 "lsb_release -a"
, pero dio el siguiente error: OCI runtime exec failed: exec failed: container_linux.go:296: starting container process caused "exec: /"lsb_release -a/": executable file not found in $PATH": unknown
Entonces me di cuenta de que me da el mismo error con todos los comandos que intento ejecutar dentro de la imagen o el contenedor.
OCI runtime exec failed: exec failed: container_linux.go:296: starting container process caused "exec: /"ffmpeg -a/": executable file not found in $PATH": unknown
Este es mi Dockerfile:
FROM ubuntu:xenial
FROM node
RUN apt-get -y update
RUN apt-get --yes install libav-tools
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm install
COPY . /usr/src/app
RUN npm run build
ENV NODE_ENV production
EXPOSE 8000
CMD ["npm", "run", "start:prod"]
Pido amablemente su ayuda. ¡Muchas gracias!
Esto me pasó en las ventanas. Cualquiera de estos comandos funcionará
En Windows CMD (sin cambiar a bash)
docker exec -it <container-id> /bin/sh
En Windows CMD (después de cambiar a bash)
docker exec -it <container-id> //bin//sh
o
winpty docker exec -it <container-id> //bin//sh
En Git Bash
winpty docker exec -it <container-id> //bin//sh
NB: Es posible que deba ejecutar use /bin/bash
o /bin/sh
, dependiendo del shell en su contenedor.
La razón está documentada en el archivo ReleaseNotes de Git y está bien explicada aquí: Bash en Git para Windows: rareza ...
"La causa tiene que ver con tratar de asegurar que las rutas de acceso de Posix terminen pasando a las utilidades de git correctamente. Por esta razón, Git para Windows incluye una capa MSYS modificada que afecta los argumentos de los comandos".
Si solución no funciona, tal vez usted no tenga los permisos.
solución pero no funciona sin el sudo.
Yo si :
sudo docker exec -it <container id or name> /bin/sh
Tuve esto debido a un simple error de pedido en mi final. llame
[WRONG] docker run <image> <arguments> <command>
Cuando debería haber usado
docker run <arguments> <image> <command>
La misma resolución en una pregunta similar: https://.com/a/50762266/6278