Cómo utilizar contenedores Docker
![Cómo utilizar contenedores Docker](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-00-featured-image-640x375.webp)
![Una fotografía de una persona programando en una computadora portátil. Una fotografía de una persona programando en una computadora portátil.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-00-featured-image-800x450-1.webp)
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:
![búsqueda en docker Una terminal que resalta la imagen Docker httpd desde la herramienta CLI.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-01-search-image-cli.webp)
![Una captura de pantalla que muestra la imagen Docker httpd del sitio web Docker Hub. Una captura de pantalla que muestra la imagen Docker httpd del sitio web Docker Hub.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-02-search-image-web.webp)
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:
![Una terminal que resalta la imagen Docker httpd instalada en el sistema. Una terminal que resalta la imagen Docker httpd instalada en el sistema.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-03-highlight-httpd-image.webp)
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:
![Una terminal que muestra un ejemplo de configuración de Dockerfile para una imagen Nginx personalizada. Una terminal que muestra un ejemplo de configuración de Dockerfile para una imagen Nginx personalizada.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-04-dockerfile-sample-config.webp)
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:
![Una terminal que resalta la imagen personalizada generada a partir del subcomando de compilación. Una terminal que resalta la imagen personalizada generada a partir del subcomando de compilación.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-05-highlight-custom-docker-image.webp)
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:
![Una terminal que muestra el subcomando commit que crea una nueva imagen desde un contenedor Docker. Una terminal que muestra el subcomando commit que crea una nueva imagen desde un contenedor Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-06-commit-existing-image.webp)
Confirme que su nueva imagen de Docker esté en su sistema ejecutando docker images
.
![Una terminal que resalta la nueva imagen personalizada de un contenedor Docker instalado en el sistema. Una terminal que resalta la nueva imagen personalizada de un contenedor Docker instalado en el sistema.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-07-highlight-commit-server-image.webp)
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:
![Docker-Explorar-Localhost Una captura de pantalla que muestra un navegador web que abre el sitio web alojado en el contenedor Docker personalizado.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-08-sample-docker-website-running.webp)
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:
![Una terminal que muestra el proceso de apagado de un contenedor Docker actualmente en ejecución. Una terminal que muestra el proceso de apagado de un contenedor Docker actualmente en ejecución.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-10-stop-running-container.webp)
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.
![Una terminal que resalta el contenedor Docker personalizado que se ejecuta actualmente en el sistema. Una terminal que resalta el contenedor Docker personalizado que se ejecuta actualmente en el sistema.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-11-highlight-custom-container-select.webp)
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:
![Una terminal que muestra el indicador de filtro para el subcomando de inspección en un contenedor Docker en ejecución. Una terminal que muestra el indicador de filtro para el subcomando de inspección en un contenedor Docker en ejecución.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-12-run-inspect-filter-cli.webp)
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:
![Una terminal que muestra los registros continuos de un contenedor Docker. Una terminal que muestra los registros continuos de un contenedor Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-13-continuous-log-sample.webp)
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:
![Una terminal que muestra una salida de registro más detallada de un contenedor Docker que se está ejecutando actualmente. Una terminal que muestra una salida de registro más detallada de un contenedor Docker que se está ejecutando actualmente.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-14-detailed-container-log-sample.webp)
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:
![docker-shell-en-contenedor Una terminal que muestra el proceso de acceso al shell raíz de un contenedor.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-15-drop-to-container-shell.webp)
Ahora, podrías, por ejemplo, editar “index.html” y crear dentro de él una página de inicio para el sitio web.
![Una terminal que muestra un archivo HTML copiado en el shell raíz de un contenedor Docker. Una terminal que muestra un archivo HTML copiado en el shell raíz de un contenedor Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-16-read-container-internal-html-file.webp)
Para salir del shell del contenedor, presione Ctrl+ Do ejecute exit
en la terminal.
![Una terminal que resalta el comando de salida del shell raíz del contenedor Docker. Una terminal que resalta el comando de salida del shell raíz del contenedor Docker.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-17-highlight-exit-command-container-shell.webp)
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
.
![Una terminal que muestra todos los contenedores Docker disponibles, incluidos los que se encuentran actualmente inactivos. Una terminal que muestra todos los contenedores Docker disponibles, incluidos los que se encuentran actualmente inactivos.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-18-show-active-containers.webp)
Elimina la imagen Docker original de tu implementación de Docker:
![eliminar imagen de docker Una terminal que resalta el resultado de eliminar una imagen Docker del sistema.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-19-highlight-image-delete-sample.webp)
Comprueba si has eliminado correctamente tu imagen Docker original ejecutando docker images
.
![Una terminal que muestra la lista de imágenes de Docker actualizada. Una terminal que muestra la lista de imágenes de Docker actualizada.](https://cdn.thewindowsclub.blog/wp-content/uploads/2024/07/use-docker-containers-linux-20-show-smaller-image-list.webp)
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