Docker Cheat Sheet - Hacking Notes
March 16, 2025
Índice
[[#Crear Dockerfile básico]]
[[#Crear imagen basado en el Dockerfile]]
[[#Ver imágenes]]
[[#Descargar imágenes de los repositorios de Dockerhub]]
[[#Crear contenedor]]
[[#Ver los contenedores activos]]
[[#Ejecutar el comando bash en un contenedor]]
[[#Crear Dockerfile con utilidades instaladas]]
[[#Parar contenedor activo]]
[[#Ver actividad de los contenedores]]
[[#Borrar contenedor]]
[[#Borrar contenedor de manera forzosa]]
[[#Mostrar los identificadores de los contenedores]]
[[#Borrar todos los contenedores]]
[[#Borrar imagen]]
[[#Mostrar los identificadores de las imágenes]]
[[#Borrar todas las imágenes]]
[[#Filtrar por imágenes en none]]
[[#Crear Dockerfile con servicio apache y port forwarding]]
[[#Crear contenedor con reenvío de puertos]]
[[#Ver puertos de un contenedor]]
[[#Sincronizar directorios con monturas]]
[[#Crear Dockerfile copiando archivos del sistema]]
[[#Ver logs de un contenedor]]
[[#Crear e iniciar contenedor con docker-compose]]
[[#Ver logs del docker-compose]]
[[#Ver volúmenes]]
[[#Borrar todos los volúmenes]]
[[#Crear interfaz de red]]
[[#Ver interfaz de red]]
[[#Borrar interfaz de red]]
[[#Establecer interfaz creada en el contenedor]]
[[#Crear contenedor con la interfaz creada]]
Crear Dockerfile básico
FROM ubuntu:latest
MAINTAINER Rieiro
Crear imagen basado en el Dockerfile
docker build -t my_first_image .
Ver imágenes
Descargar imágenes de los repositorios de Dockerhub
docker pull debian:latest
Crear contenedor
docker run -dit --name myContainer my_first_image
-d -> se utiliza para arrancar el contenedor en segundo plano
-i -> se utiliza para permitir la entrada interactiva al contenedor
-t -> se utiliza para asignar un seudoterminal al contenedor
–name -> se utiliza para asignar un nombre al contenedor
Ver los contenedores activos
Ejecutar el comando bash en un contenedor
docker exec -it myContainer bash
Crear Dockerfile con utilidades instaladas
FROM ubuntu:latest
MAINTAINER Rieiro
RUN apt update && apt install -y net-tools \
iputils-ping \
curl \
git \
nano
Parar contenedor activo
Ver actividad de los contenedores
Borrar contenedor
Borrar contenedor de manera forzosa
docker rm myContainer --force
Mostrar los identificadores de los contenedores
Borrar todos los contenedores
docker rm $( docker ps -a -q ) --force
Borrar imagen
Mostrar los identificadores de las imágenes
Borrar todas las imágenes
docker rmi $( docker images -q )
Filtrar por imágenes en none
docker images --filter "dangling=true"
Crear Dockerfile con servicio apache y port forwarding
FROM ubuntu:latest
MAINTAINER Rieiro
ENV DEBIAN_FRONTEND noninteractive
RUN apt update && apt install -y net-tools \
iputils-ping \
curl \
git \
nano \
apache2 \
php
EXPOSE 80
ENTRYPOINT service apache2 start && /bin/bash
Crear contenedor con reenvío de puertos
docker run -dit -p 80:80 --name myWebServer webserver
-p -> Esta opción se utiliza para especificar la redirección de puertos y se puede utilizar de varias maneras. Por ejemplo, si se desea redirigir el puerto 80 del host al puerto 80 del contenedor
Ver puertos de un contenedor
Sincronizar directorios con monturas
docker run -dit -p 80:80 -v /home/rieiro/RieiroCasa:/var/www/html --name myWebServer webserver
-v -> Esta opción se utiliza para especificar la montura y se puede utilizar de varias maneras. Por ejemplo, si se desea montar el directorio “/home/usuario/datos” del host en el directorio “/datos” del contenedor
Crear Dockerfile copiando archivos del sistema
FROM ubuntu:latest
MAINTAINER Rieiro
ENV DEBIAN_FRONTEND noninteractive
RUN apt update && apt install -y net-tools \
iputils-ping \
curl \
git \
nano \
apache \
php
COPY prueba.txt /var/www/html
EXPOSE 80
ENTRYPOINT service apache2 start && /bin/bash
Ver logs de un contenedor
Crear e iniciar contenedor con docker-compose
version : ' 2'
services :
kibana :
image : vulhub/kibana:5.6.12
depends_on :
- elasticsearch
ports :
- " 5601:5601"
elasticsearch :
image : vulhub/elasticsearch:5.6.16
Ver logs del docker-compose
Ver volúmenes
Borrar todos los volúmenes
docker volume rm $( docker volume ls -q )
Crear interfaz de red
docker network create --driver = bridge network1 --subnet = 10.10.0.0/24
Ver interfaz de red
Borrar interfaz de red
docker network rm 739870ed03c9
Establecer interfaz creada en el contenedor
docker network connect network1 PRO
Crear contenedor con la interfaz creada
docker run -dit --name PRE --network = network1 ubuntu
Inspeccionar una interfaz de red
docker network inspect deploy_default
Función para limpiar todo el contenido de Docker
function cleanDocker() {
docker rm $( docker ps -a -q ) --force 2>/dev/null
docker rmi $( docker images -q ) 2>/dev/null
docker network rm $( docker network ls -q ) 2>/dev/null
docker volume rm $( docker volume ls -q ) 2>/dev/null
}