Show Menu
Cheatography

Docker Cheat Sheet (DRAFT) by

Comandos

This is a draft cheat sheet. It is a work in progress and is not finished yet.

imagenes

Descargar la imagen
docker pull nombre­_im­age­n:tag
Crear un Dockerfile
nano Dockerfile
Creación imagen
punto (.) para llamar al Dockerfile

docker build -t nombre­_im­age­n_r­esult .
Historial
docker history -H nombre­_im­age­n:tag
Eliminar imagen
docker rm -fv nombre­_im­age­n:tag
Buscar imagenes
docker images | grep nombre­_im­age­n:tag
Estructura Dockerfile
FROM imagen:tag
LABEL descri­pcion
RUN comand­o_i­nstall -y
WORKDIR dir_tr­abajo
USER usuari­o_e­jec­uta­_tarea
COPY carpet­a_a­rchivo ruta/...
ADD archiv­o_url ruta/...
ENV variable contenido
VOLUME ruta
EXPOSE puerto
CMD comand­o_e­jecutar
Estructura docker­ignore
archiv­o_i­gnorar
Eliminar imagenes
docker rmi imagen:tag
Eliminar imagenes dangling
docker images -f dangli­ng=true -q | xargs docker rmi

Volúmenes

Volumen persis­tente (datos bd)
docker run -d parametros -v /ruta_­loc­:/r­uta­_cont imagen
Volumen anónimos (datos bd)
docker run -d parametros -v /ruta_loc imagen
Volumen docker
docker volume ls
Eliminar volumen docker (v)
docker rm -fv imagen
Volumen nombrado
docker volume create nombre
Asignar volumen
docker run -d -v nombre­:/ruta imagen
Dangling volumes
docker volume ls -f dangli­ng=true

Registry

Creacion
docker run -d -p 5000:5000 --name registry -v $PWD/d­ata­:/v­ar/­lib­/re­gistry registry:2
Subir imagenes
docker tag nombre­_im­age­n:tag localh­ost­:5000/nombre­_im­age­n:tag
Subir imagen al registry
docker push localh­ost­:5000/nombre­_im­age­n:tag
Bajar imagen al registry
docker pull localh­ost­:5000/nombre­_im­age­n:tag
Compartir imagenes desde una red
vi /lib/s­yst­emd­/sy­ste­m/d­ock­er.s­ervice
ExcecS­tar­t=/­usr­/bi­n/d­ockerd --inse­cur­e-r­egistry IP:5000
sudo systemctl daemon­-reload
docker stop registry
sudo systemctl retart docker
docker start registry
docker pull localh­ost­:5000/nombre­_im­age­n:tag
 

Conten­edores

Listar un contenedor
docker ps
docker ps -a
docker ps -q
docker ps -l
Crear un contenedor
docker run --help­|less
docker run -d imagen (-d)segund­o_plano
docker run -d -p ploc:pcont imagen (-p)puerto
Borrar un contenedor
docker rm -f nombre
Renombrar un contenedor
docker rename nombre­_actual nombre­_nuevo
Detener un contenedor
docker stop nombre/id
Iniciar un contenedor
docker start nombre/id
Reiniciar un contenedor
docker restart nombre/id
Shell un contenedor
docker exec -u root -ti nombre/id bash
Eliminar todos los conten­edores
docker ps -q | xargs docker rm -f
Variables de entorno
docker run -e "­pru­eba­1=1­234­" imagen
Inspec­cionar contenedor
docker inspect imagen
Logs en contenedor
docker logs -f imagen
Recursos en contenedor
docker stats imagen
Limitar recursos en contenedor
docker run -d -m "­500­mb/gb " imagen
Cuantas CPU se tienen
grep "­model name" /proc/­cpuinfo | wc -l
Saber CPU en contenedor
docker run --help | grep cpu
Restringir CPU en contenedor
docker run -d -m "­1gb­" --cpus­et-cpus 0-1 imagen
Enviar archivos en contenedor
docker cp archivo imagen­:/ruta
Extraer archivos en contenedor
docker cp imagen­:/ruta /ruta_­local
Docker commit
docker commit contenedor imagen­_re­sul­tan­te:tag
Sobree­scibir el CMD
docker run -dti imagen:tag cmd_ar­gumento
Destruir conten­edores auto
ejecución temporal (--rm)
docker run --rm -ti imagen:tag
Document root
var/li­b/d­ocker
 

Docker Network

Consultar la red docker
docker network ls
Red por defecto
docker network ls | grep bridge
red docker definida
docker network create nombre_red (--help)
Inspec­cionar la red
docker network inspect nombre_red
Red
docker run --network nombre­_re­d_a­_co­nectar -d --name test imagen
Ping
docker exec ontenedor bash -c "pin IP_con­t/n­omb­re_­con­t"
Conectar diferentes redes
docker network connect nombre­_red1 nomb_cont2
Descon­ectar diferentes redes
docker network disconnect nombre­_red1 nomb_cont2
Eliminar redes
docker network rm nombre_red
Asignar ip a contenedor
docker network create --subnet IP/24 --gateway IP -d bridge nombre_red
Asignar ip a contenedor
docker run --network nombre_red -d --name cont1 -ti centos
Asignar ip a contenedor
docker run --network nombre_red --ip IP -d --name cont1 -ti imagen
La red de host
docker run --network host -d --name cont -ti imagen
Red None
docker run --network none -d --name cont -ti imagen

Compose

Ejecución
docker­-co­mpose
Ejecutar contenedor
docker­-co­mpose up -d
docker­-co­mpose -f archiv­o.yml up -d
Eliminar contenedor
docker­-co­mpose down
Imagenes compose
docker­-co­mpose build
Person­alizar nombre proyecto compose
docker­-co­mpose -p nombre -f nombre.yml up -d
Nombre distinto docker­-co­mpo­se.yml
docker­-co­mpose -f nombre­_ar­chi­vo.yml
logs compose
docker­-co­mpose logs -f