Comandos más usados
Obtener Imágenes
- Descargar una imagen:
docker pull <nombre-imagen>
Imágenes Activas / Procesos
- Listar imágenes descargadas:
docker images
- Listar contenedores en ejecución:
docker ps
- Listar todos los contenedores (activos o inactivos):
docker container ls -a
Eliminar Imágenes / Contenedores
- Eliminar contenedores específicos por ID:
docker container rm <id-contenedor>
- Eliminar todos los contenedores detenidos:
docker container prune
- Forzar la detención y eliminación de contenedores por ID:
docker container rm -f <ids-contenedores>
- Eliminar imágenes específicas por ID:
docker image rm <id-imagen>
Parar Contenedor
- Detener un contenedor:
docker container stop <id-contenedor>
Logs
- Ver los logs de un contenedor:
docker container logs <id-contenedor>
- Seguir los logs en tiempo real:
docker container logs --follow <id-contenedor>
Entrar a un Contenedor
- Acceder y ejecutar comandos en un contenedor:
docker run node:16-alpine3.16 sh -c "yarn install && yarn start:dev"
- Ingresar a un contenedor en ejecución:
docker exec -it <id-contenedor> /bin/sh
Correr una Imagen
- Ejecutar una imagen:
docker container run <nombre-imagen>
Opciones al correr una imagen
- Ejecutar en segundo plano:
docker run -d <nombre-imagen>
- Mapear puertos:
docker run -p <puerto-contenedor>:<puerto-host> <nombre-imagen>
- Asignar un nombre al contenedor:
docker run --name <nombre> <nombre-imagen>
- Definir variables de entorno:
docker run -e <variable=valor> <nombre-imagen>
- Ejecutar en modo interactivo:
docker run -i <nombre-imagen>
- Ejecutar con una terminal:
docker run -t <nombre-imagen>
- Conectar a una red específica:
docker run --network <nombre-red> <nombre-imagen>
- Eliminar el contenedor al detenerse:
docker run --rm <nombre-imagen>
- Compartir datos entre el host y el contenedor:
docker run --volume <directorio-host>:<directorio-contenedor> <nombre-imagen>
- Especificar el directorio de trabajo dentro del contenedor:
docker run -w </ruta-directorio>:<nombre-imagen>
Ejemplo
docker run -d -p <puerto-contenedor>:<puerto-host> --name <nombre> -e <variable=valor> -i -t --network <nombre-red> --rm --volume <directorio-host>:<directorio-contenedor> -w </ruta-directorio> <nombre-imagen>
A continuación, te doy un ejemplo con valores específicos:
docker run -d -p 8080:80 --name mi-contenedor -e MY_ENV_VAR=my_value -i -t --network mi-red --rm --volume /ruta/host:/ruta/contenedor -w /ruta/trabajo mi-imagen
Con este comando:
- La imagen se ejecuta en segundo plano.
- Mapea el puerto 80 del contenedor al puerto 8080 del host.
- Asigna el nombre
mi-contenedor
al contenedor. - Define una variable de entorno
MY_ENV_VAR
con el valormy_value
. - Ejecuta en modo interactivo.
- Proporciona una terminal.
- Conecta el contenedor a la red
mi-red
. - Elimina el contenedor al detenerse.
- Comparte el directorio
/ruta/host
del host con el directorio/ruta/contenedor
del contenedor. - Especifica el directorio de trabajo
/ruta/trabajo
dentro del contenedor.
Puedes ajustar estos valores según tus necesidades específicas.