Interfaz de imágenes y contenedores.
$ docker container prune
$ docker image prune
$ docker image prune -a
$ docker image inspect nginx:latest
$ docker images app --format "table {{.Tag}}\t{{.Size}}\t{{.CreatedAt}}"
$ docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}\t{{.CreatedSince}}"
$ docker images --filter "dangling=true"
$ docker images
$ docker images -q
$ docker run -d -p 8080:80 nginx
$ docker run --network host nginx
$ docker run -d --name web -p 80:80 nginx
$ docker run -d --name mi-app --memory="1g" --memory-swap="2g" nginx
$ docker run --rm -v mi-app-data:/source:ro -v $(pwd):/backup alpine tar czf /backup/volume-backup-$(date +%Y%m%d).tar.gz -C /source .
$ docker system prune
$ docker system prune --volumes --filter "until=24h"
$ docker system prune -a --volumes
$ docker system df
$ docker ps
$ docker ps -a
$ docker ps -a --filter "status=exited"
$ docker ps -a --filter name=debian --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
$ docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}\t{{.Names}}"
$ docker inspect web-server
$ docker start <nombre_o_id>
$ docker stop <nombre_o_id>
$ docker stop $(docker ps -q)
$ docker restart <nombre_o_id>
$ docker rm <nombre_o_id>
$ docker rm $(docker ps -aq)
$ docker rm -f $(docker ps -aq)
$ docker rmi nginx:latest
$ docker rmi $(docker images -q)
$ docker rmi $(docker images -q -f "dangling=true")
$ docker logs <nombre_o_id>
$ docker logs -f <nombre_o_id>
$ docker logs -f --tail 100 web
$ docker exec -it <nombre_o_id> bash
$ docker logs -f --timestamps app
$ docker stats
$ docker stats --no-stream
$ docker scan nginx:latest
$ docker pull nginx:latest
$ docker build -t mi-app:1.0 .
$ docker history nginx:latest
$ docker history nginx:latest --no-trunc
$ docker network ls
$ docker network prune
$ docker network create mi-red
$ docker network create --driver bridge mi-red
$ docker network inspect mi-red
$ docker network connect mi-red <contenedor>
$ docker network disconnect mi-red <contenedor>
$ docker network rm mi-red
$ docker volume ls
$ docker volume prune
$ docker volume create mi-volumen
$ docker volume create --name mi-volumen
$ docker volume inspect mi-volumen
$ docker volume rm mi-volumen
$ docker info
$ docker top MyContainer
1.-
Configurar el usuario para usar Docker sin sudo
# usermod -aG docker $USER
# newgrp docker
$ ls -l /var/run/docker.sock
# chmod 666 /var/run/docker.sock
# systemctl restart docker
2.-
Eliminar la interfaz actual
# ip link set dev docker0 down
# ip link del docker0
Esto borra el bridge de la sesión actual, pero volverá a aparecer si se vuelve a iniciar el daemon Docker.
3.-
Desactivar Docker y containerd en el arranque
# systemctl stop docker.service docker.socket
# systemctl disable docker.service docker.socket
Si se usa también containerd como servicio independiente:
# systemctl stop containerd.service
# systemctl disable containerd.service
4.-
Mantener Docker pero sin que cree el bridge docker0, crear o modificar:
# nano /etc/docker/daemon.json
{
"bridge": "none"
}
# systemctl restart docker
Con "bridge": "none" Docker no levanta la interfaz docker0 al arrancar.
5.-
El puerto está siendo utilizado por otro proceso o contenedor.
# lsof -i :5000
# kill -9 $(lsof -t -i:5000)
# docker run -d -p 5001:5000 mi-primera-app