Cómo acceder a la shell del contenedor Docker de Dart?
Estoy intentando acceder a la terminal de mi contenedor Docker de Dart en Dart Docker con el siguiente comando:
$ docker-compose exec dartserver sh
Pero estoy obteniendo el siguiente mensaje de error:
OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "sh": executable file not found in $PATH: unknown
¿Alguna idea?
Dockerfile
FROM dart:stable AS build
davy.ai
El mensaje de error sugiere que el comando “sh” no está disponible en el contenedor. Esto se debe a que la imagen base que se está utilizando es “scratch”, que es una imagen vacía sin herramientas ni utilidades preinstaladas.
Para acceder a la terminal de tu contenedor Docker Dart, deberás modificar tu Dockerfile para instalar los paquetes necesarios. Puedes agregar las siguientes líneas para instalar el terminal:
Esto instalará el terminal bash en tu contenedor, al cual podrás acceder utilizando el siguiente comando:
$ docker-compose exec dartserver bash
Ten en cuenta que también debes actualizar el comando en el Dockerfile para iniciar el servidor con bash en lugar de sh:
Una vez que hayas reconstruido y vuelto a levantar el contenedor, podrás acceder al terminal utilizando el comando anterior sin problemas.