Cómo utilizar contenedores Docker
Los contenedores son el elemento vital de cada instalación de Docker. Son la base de la plataforma Docker y te permiten ejecutar servicios en tu computadora sin preocuparte por dependencias y conflictos de versiones. Aquí te mostramos los conceptos básicos para crear, administrar y personalizar contenedores Docker con la herramienta Docker CLI.
Cómo buscar y extraer una imagen de Docker
Los contenedores Docker son un tipo especial de entorno de software que permite ejecutar programas de forma independiente del resto del sistema original. Para lograrlo, Docker utiliza “imágenes de software”. Se trata de copias estáticas de programas que sirven como base desde la que se inicia un contenedor.
Esta distinción entre imagen y contenedor le permite recrear y adaptar su software de cualquier forma que sea necesaria. Por ejemplo, puede tener una imagen como “httpd” pero crear dos contenedores distintos a partir de ella: “website1” y “website2”.
La forma más sencilla de buscar una nueva imagen de Docker es utilizar el search
subcomando:
Para descargar la imagen a su sistema, ejecute el siguiente comando:
Confirme que ha agregado correctamente su nueva imagen a su sistema usando el images
subcomando:
Creación de una nueva imagen mediante Dockerfiles
Además de extraer imágenes predefinidas de Docker Hub, puedes crear imágenes directamente desde la CLI de Docker. Esto resulta útil si quieres crear versiones personalizadas de paquetes de software existentes o trasladar nuevas aplicaciones a Docker.
Para hacer esto, primero crea una carpeta en tu directorio de inicio para tus archivos de compilación:
Crea un nuevo Dockerfile usando tu editor de texto favorito:
Pegue las siguientes líneas de código dentro de su nuevo Dockerfile:
Cree una carpeta “sample-site” y copie o cree un sitio HTML básico:
Guarde su nuevo Dockerfile y luego ejecute el siguiente comando para compilarlo en su sistema:
Comprueba si tu nueva imagen de Docker está presente en tu lista de imágenes de Docker:
Creación de una nueva imagen a partir de contenedores existentes
La herramienta Docker CLI también puede crear nuevas imágenes a partir de los contenedores que existen actualmente en su sistema. Esto resulta útil si ya está trabajando en un entorno existente y desea crear una nueva imagen a partir de su configuración actual.
Para ello, asegúrese de que su contenedor no esté ejecutándose actualmente:
Ejecute el commit
subcomando seguido del nombre de su contenedor, luego proporcione el nombre de su nueva imagen de Docker después de eso:
Confirme que su nueva imagen de Docker esté en su sistema ejecutando docker images
.
Cómo ejecutar y detener un contenedor Docker
Con la imagen de Docker lista, ya puedes empezar a usarla para crear tu primer contenedor. Para ello, utiliza el run
subcomando seguido del nombre de la imagen que quieres ejecutar:
Si bien esto funcionará para ejecutar su primer contenedor Docker, al hacerlo de esta manera se hará cargo de su sesión de shell actual. Para ejecutar su contenedor en segundo plano, agregue el -d
indicador después del run
subcomando:
El run
subcomando también puede incluir una serie de indicadores adicionales que pueden cambiar el comportamiento de su nuevo contenedor Docker. Por ejemplo, el --name
indicador le permite agregar un nombre personalizable a su contenedor:
Por otro lado, puedes usar la --publish
bandera para redirigir el puerto de red desde donde puedes acceder a tu contenedor Docker. Esto es útil principalmente si no quieres que tu contenedor tome el control de un puerto privilegiado:
Puede comprobar todos los contenedores Docker que se están ejecutando actualmente en su sistema ejecutando el siguiente comando:
De manera similar al run
subcomando, ps
también puede incluir una serie de indicadores que modificarán su comportamiento. Por ejemplo, para ver los contenedores que están inactivos actualmente, utilice el -a
indicador:
Para apagar un contenedor en ejecución, use el stop
subcomando seguido del ID del contenedor o del nombre de su contenedor Docker:
Puedes reiniciar cualquier contenedor que hayas detenido volviendo a ejecutar el start
subcomando:
Pausar y matar un contenedor Docker
La herramienta Docker CLI también te permite pausar y detener temporalmente un proceso de contenedor en ejecución. Esto puede ser útil si estás solucionando un problema con tu configuración de Docker y quieres aislar o detener un contenedor que funciona mal.
Comience ejecutando docker ps
para enumerar todos los contenedores en ejecución en el sistema.
Busque el ID o el nombre del contenedor que desea administrar.
Ejecute el pause
subcomando seguido del nombre del contenedor que desea suspender temporalmente:
Puede reanudar un proceso suspendido ejecutando el unpause
subcomando:
Para detener un proceso que funciona mal, ejecute el kill
subcomando seguido del nombre de su contenedor:
Cómo inspeccionar un contenedor Docker
Conocer los detalles intrincados de su contenedor es fundamental para mantener la salud de su pila Docker. Le permite ver rápidamente cualquier problema potencial y puede ser la diferencia entre solucionar o rehacer toda su implementación.
Para ver una descripción general de su contenedor Docker, ejecute el inspect
subcomando:
Al hacer esto, se imprimirá una cadena JSON larga que describe el estado actual de todo el contenedor. Puede limitar esta información enviando la salida a jq o utilizando el indicador integrado -f
seguido del objeto JSON que desea imprimir:
Impresión de registros de contenedores en la terminal
Además de eso, también puedes rastrear e imprimir los registros de cualquier contenedor Docker que se esté ejecutando actualmente. Esto puede ser útil si quieres verificar cómo se comporta actualmente tu servicio y ver la salida que devuelve a STDOUT.
Para ello, ejecute el subcomando logs seguido del nombre de su contenedor:
También puede ejecutar el subcomando logs con el --follow
indicador para crear un registro continuo de su servicio Docker. Esto es similar a ejecutarlo tail -f
al final de una tubería UNIX:
De manera similar a otros subcomandos, también puedes agregar varios indicadores para personalizar la salida del registro de tu contenedor Docker. Por ejemplo, el --timestamps
indicador agrega una marca de tiempo detallada para cada mensaje que tu contenedor envía a su STDOUT:
La --details
bandera imprimirá incluso las variables de entorno que hayas configurado para tu contenedor Docker actual. Mientras tanto, la --since
bandera te permite mostrar solo los registros que ocurrieron después de un punto en particular en el tiempo:
Cómo personalizar un contenedor Docker
En esencia, un contenedor Docker es una versión pequeña y simplificada de Linux que se ejecuta sobre el sistema actual. Esto significa que, de manera similar a una máquina virtual, es posible acceder a los datos dentro del contenedor y recuperarlos.
Para copiar un archivo local desde su máquina host al contenedor, ejecute el cp
subcomando:
A veces también necesitarás “entrar” en los contenedores abriendo un shell dentro de ellos. De esta manera, puedes editar archivos, instalar binarios y personalizarlos según tus necesidades:
Ahora, podrías, por ejemplo, editar “index.html” y crear dentro de él una página de inicio para el sitio web.
Para salir del shell del contenedor, presione Ctrl+ Do ejecute exit
en la terminal.
Cómo eliminar contenedores e imágenes de Docker
Eliminar los contenedores e imágenes de Docker que no se utilizan es una parte importante del mantenimiento general de la implementación. Esto le permite eliminar archivos innecesarios de su servidor, lo que le permite ahorrar espacio de almacenamiento a largo plazo.
Antes de eliminar un contenedor, asegúrese de haberlo detenido primero:
Ahora, elimine el contenedor usando el rm
subcomando:
Confirme que ha eliminado correctamente su antiguo contenedor Docker ejecutando docker ps -a
.
Elimina la imagen Docker original de tu implementación de Docker:
Comprueba si has eliminado correctamente tu imagen Docker original ejecutando docker images
.
Aprender a crear, administrar y eliminar contenedores Docker son solo algunas de las cosas que puede hacer con su servidor Linux.
Crédito de la imagen: Shamin Haky vía Unsplash . Todas las modificaciones y capturas de pantalla son de Ramces Red.
Deja una respuesta