Creación de contenedores Docker: Fundamentos prácticos

Creación de contenedores Docker: Fundamentos prácticos

¿Cómo crear contenedores en Docker?

Hemos comentado con anterioridad que el flujo de ejecución de un contenedor es:

  • Descargar la imagen.
  • Crear el contenedor.
  • Ejecutar el comando.
  • Terminar el contenedor.

Esto lo podemos realizar si ejecutamos el contenedor busybox.

docker container run busybox

¿Cómo listar contenedores docker detenidos?

Sin embargo el contenedor si bien ha sido terminado aun se encuentra disponible y esto lo podemos ver utilizando el comando container ls -a.

docker container ls -a

¿Cómo terminar y eliminar un contenedor al mismo tiempo?

Si deseamos que el contenedor sea eliminado al momento de terminar la ejecución podemos utilizar el parámetro -rm como parte del comando container run.

docker container run --rm busybox

¿Cómo ejecutar un contenedor de docker en segundo plano o modo deattached?

Existen contenedores que por su naturaleza se mantienen en ejecución. Estos son los contenedores que ejecutan servicios como por ejemplo los servidores web. Hemos visto ya el ejemplo de nginx. Si intentamos ejecutar nginx la línea de comandos se mantendrá en espera de que el contenedor finalice, cosa que no sucederá.

Para dejar el contenedor ejecutándose en modo deattached utilizamos container run -d.

docker container run -d nginx

Al ejecutar el contenedor en modo deattached la línea de comandos se mantendrá libre para seguir trabajando.

¿Cómo entrar al sistema operativo de un contenedor de docker?

Otra forma de arrancar un contenedor y entrar dentro del sistema operativo de este sin que finalice es utilizando el modo interactivo, para ello usamos container run -it.

docker container run -it busybox

Al arrancar en modo interactivo un contenedor Docker, este nos llevará dentro del sistema operativo. En cuanto salgamos del contenedor se realizará la terminación de dicho contenedor.

¿Cómo borrar (purgar) todos los contenedores que se encuentran detenidos?

Para borrar todos los contenedores que se encuentren terminados utilizamos el comando container prune -f.

docker container prune -f

¿Cómo asignar un nombre a un contenedor de docker?

Cuando creamos un contenedor, Docker asigna un nombre aleatorio a este contenedor. Si deseamos personalizar el nombre del contenedor podemos usar el parámetro –name.

docker container run --name mi_contenedor busybox

Podemos revisar la lista de contenedores generados usando docker container ls -a y dentro de esta lista podremos ver el contenedor generado con el nombre que le hemos asignado.