Saltar al contenido

Iniciar un shell en el contenedor Docker Alpine

Solución:

[email protected]:~$ docker run -it --rm alpine /bin/ash
(inside container) / # 

Opciones utilizadas anteriormente:

  • /bin/ash es Ash (Almquist Shell) proporcionado por BusyBox
  • --rm Retire automáticamente el contenedor cuando salga (docker run --help)
  • -i Modo interactivo (mantenga STDIN abierto incluso si no está conectado)
  • -t Asignar un pseudo-TTY

Por lo general, una imagen de Alpine Linux no contiene bash, En su lugar puedes usar /bin/ash, /bin/sh, ash o solo sh.

/ papelera / ceniza

docker run -it --rm alpine /bin/ash

/ bin / sh

docker run -it --rm alpine /bin/sh

ceniza

docker run -it --rm alpine ash

sh

docker run -it --rm alpine sh

Espero que esta información te ayude.

Hoy en día, las imágenes de Alpine se iniciarán directamente en /bin/sh de forma predeterminada, sin tener que especificar un shell para ejecutar:

$ sudo docker run -it --rm alpine  
/ # echo $0  
/bin/sh  

Esto es porque el alpine image Dockerfiles ahora contienen un CMD comando, que especifica el shell que se ejecutará cuando se inicie el contenedor: CMD ["/bin/sh"].

En las versiones de imagen de Alpine más antiguas (anteriores a 2017), el comando CMD no se usó, ya que Docker solía crear una capa adicional para CMD que hacía que aumentara el tamaño de la imagen. Esto es algo que los desarrolladores de imágenes de Alpine querían evitar. En las versiones recientes de Docker (1.10+), CMD ya no ocupa una capa, por lo que se agregó a alpine imágenes. Por lo tanto, siempre que no se anule CMD, las imágenes recientes de Alpine se iniciarán en /bin/sh.

Como referencia, consulte el siguiente compromiso con los archivos Dockerfiles oficiales de Alpine de Glider Labs:
https://github.com/gliderlabs/docker-alpine/commit/ddc19dd95ceb3584ced58be0b8d7e9169d04c7a3#diff-db3dfdee92c17cf53a96578d4900cb5b

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *