Comandos contenedores
A continuación te proporciono un listado de los principales comandos para manejar contenedores en Docker, junto con explicaciones detalladas y ejemplos para cada uno:
1. docker run
- Descripción: Crea y ejecuta un contenedor a partir de una imagen. Si la imagen no existe localmente, Docker la descargará automáticamente desde Docker Hub o desde el registro configurado.
- Sintaxis:
docker run [opciones] <nombre_imagen> [comando]
- Ejemplo:
docker run -d --name mi_contenedor nginx
Esto crea y ejecuta un contenedor en segundo plano (
-d
) llamadomi_contenedor
usando la imagennginx
.
2. docker ps
- Descripción: Lista los contenedores en ejecución. Con la opción
-a
, también muestra los contenedores que están detenidos. - Sintaxis:
docker ps [opciones]
- Ejemplo:
docker ps docker ps -a
El primer comando muestra solo los contenedores en ejecución, mientras que el segundo muestra todos los contenedores, incluidos los detenidos.
3. docker start
- Descripción: Inicia uno o más contenedores que han sido creados pero están detenidos.
- Sintaxis:
docker start <nombre_contenedor>
- Ejemplo:
docker start mi_contenedor
Esto inicia el contenedor llamado
mi_contenedor
.
4. docker stop
- Descripción: Detiene uno o más contenedores en ejecución de manera ordenada, enviando una señal SIGTERM seguida de SIGKILL si no se apaga dentro del tiempo de espera.
- Sintaxis:
docker stop [opciones] <nombre_contenedor>
- Ejemplo:
docker stop mi_contenedor
Esto detiene el contenedor llamado
mi_contenedor
.
5. docker restart
- Descripción: Detiene y reinicia un contenedor. Es útil para aplicar cambios de configuración o para reiniciar el proceso principal.
- Sintaxis:
docker restart [opciones] <nombre_contenedor>
- Ejemplo:
docker restart mi_contenedor
Esto reinicia el contenedor llamado
mi_contenedor
.
6. docker kill
- Descripción: Envía una señal SIGKILL al proceso principal de uno o más contenedores, deteniéndolos inmediatamente.
- Sintaxis:
docker kill [opciones] <nombre_contenedor>
- Ejemplo:
docker kill mi_contenedor
Esto fuerza la detención inmediata del contenedor
mi_contenedor
.
7. docker rm
- Descripción: Elimina uno o más contenedores detenidos. No puedes eliminar un contenedor que esté en ejecución sin la opción
-f
. - Sintaxis:
docker rm [opciones] <nombre_contenedor>
- Ejemplo:
docker rm mi_contenedor
Esto elimina el contenedor llamado
mi_contenedor
. - Eliminar un contenedor en ejecución:
docker rm -f mi_contenedor
Esto forzará la eliminación del contenedor
mi_contenedor
aunque esté en ejecución.
8. docker logs
- Descripción: Muestra los logs generados por un contenedor. Es útil para depurar y monitorear aplicaciones.
- Sintaxis:
docker logs [opciones] <nombre_contenedor>
- Ejemplo:
docker logs mi_contenedor
Esto muestra los logs del contenedor
mi_contenedor
. - Ver los logs en tiempo real:
docker logs -f mi_contenedor
Esto muestra los logs en tiempo real del contenedor
mi_contenedor
.
9. docker exec
- Descripción: Ejecuta un comando en un contenedor en ejecución. Esto permite interactuar con el contenedor sin necesidad de detenerlo.
- Sintaxis:
docker exec [opciones] <nombre_contenedor> <comando>
- Ejemplo:
docker exec -it mi_contenedor /bin/bash
Esto inicia una sesión interactiva de bash dentro del contenedor
mi_contenedor
.
10. docker inspect
- Descripción: Devuelve información detallada sobre un contenedor, incluyendo su configuración, red, volúmenes, y más.
- Sintaxis:
docker inspect <nombre_contenedor>
- Ejemplo:
docker inspect mi_contenedor
Esto muestra toda la información detallada del contenedor
mi_contenedor
.
11. docker pause
y docker unpause
- Descripción:
docker pause
detiene temporalmente todos los procesos en un contenedor.docker unpause
reanuda esos procesos. - Sintaxis:
docker pause <nombre_contenedor> docker unpause <nombre_contenedor>
- Ejemplo:
docker pause mi_contenedor docker unpause mi_contenedor
Esto pausa y luego reanuda el contenedor
mi_contenedor
.
12. docker top
- Descripción: Muestra los procesos en ejecución dentro de un contenedor, similar al comando
top
en sistemas UNIX. - Sintaxis:
docker top <nombre_contenedor>
- Ejemplo:
docker top mi_contenedor
Esto muestra los procesos que se están ejecutando dentro del contenedor
mi_contenedor
.
13. docker cp
- Descripción: Copia archivos o directorios entre el contenedor y el sistema de archivos del host.
- Sintaxis:
docker cp <ruta_origen> <ruta_destino>
- Ejemplo:
docker cp mi_contenedor:/var/log/nginx/access.log /home/usuario/logs/
Esto copia el archivo
access.log
desde el contenedormi_contenedor
al directorio/home/usuario/logs/
en el host.
14. docker commit
- Descripción: Crea una nueva imagen a partir del estado actual de un contenedor. Esto es útil para guardar cambios realizados en un contenedor en ejecución.
- Sintaxis:
docker commit <nombre_contenedor> <nombre_nueva_imagen>
- Ejemplo:
docker commit mi_contenedor mi_nueva_imagen
Esto crea una nueva imagen llamada
mi_nueva_imagen
a partir del estado actual del contenedormi_contenedor
.
15. docker rename
- Descripción: Cambia el nombre de un contenedor existente.
- Sintaxis:
docker rename <nombre_contenedor_actual> <nuevo_nombre>
- Ejemplo:
docker rename mi_contenedor nuevo_contenedor
Esto renombra el contenedor
mi_contenedor
anuevo_contenedor
.
16. docker attach
- Descripción: Adjunta la consola del terminal al proceso principal que se está ejecutando en un contenedor. Esto te permite interactuar directamente con el contenedor como si fuera un proceso en el host.
- Sintaxis:
docker attach <nombre_contenedor>
- Ejemplo:
docker attach mi_contenedor
Esto adjunta la consola al contenedor
mi_contenedor
.
17. docker stats
- Descripción: Muestra estadísticas en tiempo real del uso de recursos (CPU, memoria, etc.) por parte de los contenedores.
- Sintaxis:
docker stats [opciones] [nombre_contenedor]
- Ejemplo:
docker stats mi_contenedor
Esto muestra las estadísticas de uso de recursos del contenedor
mi_contenedor
.
18. docker history
- Descripción: Muestra el historial de cambios de una imagen, incluidos los comandos de cada capa.
- Sintaxis:
docker history <nombre_imagen>
- Ejemplo:
docker history nginx
Esto muestra el historial de la imagen `ng