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