Comandos más usados en Docker
Dockerfile
docker build -t nombre directorio_Dockerfile
Genera una nueva imagen denominada nombre a partir de un fichero Dockerfile
FROM imagen
La imagen base
MAINTAINER nombre usuario
El usuario que gestiona esa imagen
RUN comandos
Ejecuta comandos en la imagen
ENV variables de entorno
Define variables de entorno
EXPOSE puerto
Puerto a exponer en la imagen
ADD fichero_origen fichero_destino
Añade un fichero a la imagen
COPY fichero_origen fichero_destino
Copia un fichero a la imagen
ENTRYPOINT fichero_origen fichero_destino
Comando a ejecutar al iniciar la imagen
VOLUME fichero
Crea un fichero de volumen a la imagen
WORKDIR directorio
Establece el directorio inicial al arrancar la imagen
Rendimiento y logs
docker logs nombre
Muestra los logs del contenedor nombre
docker top nombre
Muestra el top de procesos del contenedor nombre
docker stats
Muestra los recursos consumidos de los contenedores
docker inspect nombre
Muestra la información completa del contenedor denominado nombre
Imagenes
docker images
Lista las imagenes almacenadas en el host
docker search imagen
Busca una imagen en el Docker hub
docker inspect id/nombre
Muestra los detalles de una imagen a partir de un id o un nombre
docker pull nombre
Descarga la imagen correspondiente a ese nombre
docker rmi id/nombre
Elimina la imagen correspondiente a ese id o nombre
Redes
docker network ls
Lista las redes disponibles
docker network inspect nombre_red
Muestra los detalles de la red correspondiente a nombre_red
docker network create -d bridge nombre_red
Crea una red de tipo bridge denominada nombre_red
Volumenes
docker volume ls
Listar los volumenes
docker volume create --name nombre
Crear un volumen con nombre
docker volume rm
Borrar un volumen con nombre
docker volume inspect id
Ver detalles de un volumen
Backup
docker export nombre_contenedor > fichero.tar
Exporta un contenedor (como imagen) a un fichero.tar
docker import fichero.tar imagen
Importa un fichero.tar a una imagen dada
docker save nombre_imagen > fichero.tar
Graba una imagen en un fichero.tar
docker load -i fichero.tar
Carga un fichero.tar en una imagen
docker run -d -p 5000:5000 --restart=always --name registry registry:2
Ejecuta un repositorio de imagenes privado denominado registry en el puerto 5000
docker push servidor:5000/imagen
Sube una imagen al repositorio
docker pull servidor:5000/imagen
Descarga una imagen del repositorio
Contenedores
docker create -it --name nombre imagen
Crea un contenedor denominado name a partir de imagen
docker start nombre
Arranca el contenedor denominado nombre
docker stop nombre
Para el contenedor denominado nombre
docker restart nombre
Rearranca el contenedor denominado nombre
docker rm nombre
Elimina el contenedor denominado nombre
docker ps -a
Lista todos los contenedores en ejecución (-a incluye los parados)
docker run -it imagen comando
Arranca y ejecuta el comando en un contenedor de esa imagen en modo interactivo
docker exec -it nombre comando
Ejecuta el comando en el contenedor nombre
docker run -d
Arranca el contenedor en modo daemon
docker run -P
Arranca el contenedor y expone los puertos del contenedor en puertos aleatorios del host
docker run -p puerto_host:puerto_contenedor
Arranca el contenedor y expone el puerto_contenedor en el puerto_host
docker run -v directorio_host:directorio_contenedor
Asigna el directorio_host para mapearlo en el directorio_contenedor
docker run --hostname nombre_host
Arranca el contenedor y asigna nombre_host al contenedor
docker run --net=mired
Arranca el contenedor y lo asigna en la red denominada mired