Compartir a través de


Ejecutar y explorar Contenedores con Docker Linux (es-MX)

Artículo Original: https://social.technet.microsoft.com/wiki/contents/articles/51038.running-and-exploring-a-docker-linux-container/

Introducción

 A veces, la mejor manera de solucionar problemas y comprender cómo funciona un contenedor Docker es explorando el contenedor. Si bien hay un par de maneras de explorar, una de las formas realmente útiles es la aplicación docker exec. Básicamente,  docker exec nos permite ejecutar comandos dentro de un contenedor, y para un contenedor de Linux, podemos usar  docker exec para acceder y ejecutar comandos de shell.

Pero para acceder al bash, por supuesto, necesita tener el contenedor en un estado de ejecución. Este artículo wiki ha explicado cómo puede configurar su propio contenedor, específicamente un contenedor de Linux con ASP.NET Core MVC Application ejecutándose en su interior.

Así que vamos a comenzar.

Paso 1

Actualmente, no tenemos contenedores ejecutándose.

https://lh3.googleusercontent.com/-VsSDUfQJ4dQ/WR5oR59ZXcI/AAAAAAAAEck/6LWd7DgAA68ySV7xszaaqOLHiauzyyo5ACHM/image_thumb?imgmax=800
docker ps -a

Y tenemos el siguiente conjunto de imágenes.

https://lh3.googleusercontent.com/-Gs_B1GvKQdo/WR5oSyv33OI/AAAAAAAAEcs/N234wFZcH380GAYHnkDbUw017Iz83RHVQCHM/image4_thumb%255B1%255D?imgmax=800
docker images

Paso 2. Ejecutar Docker Run

 Aquí, el dockerwebapp es la imagen desde la cual planeamos crear y ejecutar un contenedor. Podemos ejecutar el contenedor mediante la ejecución de docker run.

# Runs in the foreground
# Even if pressed Ctrl+C, Container is still running
PS C:\WINDOWS\system32> docker run dockerwebapp
 
# Runs in the background/detached
PS C:\WINDOWS\system32> docker run -d dockerwebapp
 
# Runs in the foreground
# If pressed Ctrl+C, Container will stop running
# Container will be displayed in docker ps -a
PS C:\WINDOWS\system32> docker run -it dockerwebapp
 
# Runs in the foreground
# If pressed Ctrl+C, Container will stop running and will get deleted
PS C:\WINDOWS\system32> docker run -it –-rm dockerwebapp

En este caso, vamos a ejecutar docker run –d dockerwebapp ya que queremos que el Contenedr se ejecute en segundo plano, por lo que para los próximos comandos de la ventana acoplable, no queremos abrir otra ventana de PowerShell.

https://lh3.googleusercontent.com/-K_Nmk3MMfvU/WR5oUOqnOmI/AAAAAAAAEc0/rZT7v09n23Aa9GRsSJ08ca51dwMrBn_gQCHM/image_thumb%255B9%255D?imgmax=800
docker run -d dockerwebapp

Paso 3. Explorar la imagen

Ahora podemos ver que el contenedor se está ejecutando, es hora de explorar la imagen.

PS C:\WINDOWS\system32> docker exec -i -t blissful_roentgen /bin/bash
 
# -i -t can be use together like follows
PS C:\WINDOWS\system32> docker exec -it blissful_roentgen /bin/bash
https://lh3.googleusercontent.com/-srv8gLWkNbQ/WR5oVJMNAbI/AAAAAAAAEc8/lfw5jTJZy_MeZLl2WBSOWLem4O2nlOnCACHM/image_thumb%255B8%255D?imgmax=800
docker exec

Puede ver que ahora estamos en un shell de Linux y podemos usar comandos de shell para explorar la imagen. Por ejemplo para ver el sistema de archivos..

https://lh3.googleusercontent.com/-N0ePiomTIA8/WR5r3leT8_I/AAAAAAAAEdM/oiG8nSb61uUhoDtSPDWHK_sawy3fsqFeACHM/image_thumb%255B3%255D?imgmax=800
ls

Espero que esto ayude.

Happy Coding

Otros Lenguajes: 

English - https://social.technet.microsoft.com/wiki/contents/articles/51038.running-and-exploring-a-docker-linux-container.aspx