• docker run <image-name:tag>, busca la imagen en el host si no la pilla intenta descargarla
○ Con la opcion --name podemos renombrar un container pero el nuevo nombre tiene que ser unico
○ -it: Ejecuta el container pero de forma interactiva con la terminal
○ -p: publish, habilitar la comunicacion entre puertos del host y contenedor
<puerto-host>:<puerto-contenedor>
○ -v <path en el host>:<path en el contenedor>, asignamos un espacio compartido entre el host y el contenedor, ambas partes tiene acceso a
esos archivos, es un mount tipo bind
○ -d, hace que se ejecute el contenedor en backgound y muestra el id del contenedor
○ -mount src=dbdata,dst=/data/db mongo —> Para poder asociar el directorio de un contenedor a un volumen se utiliza el parámetro --mount,
luego src para indicar el volumen donde se guardará la información, y luego dst para indicar el destino o directorio del contenedor que se
montará en el volumen indicado en src. Una vez ejecutado nuevamente mongo con el nombre de db sobre el volumen dbdata, volver a
ejecutar un bash dentro del contenedor y probar nuevamente la creación de datos en mongo.
○ --env pones variales de entorno
• docker logs <docker-name|docker-id>
○ Muestra los logs del contenedor incluso si esta apagado
• docker rm <docker-name|docker-id>
○ Borra el contenedor
• docker rm $(docker ps -aq)
○ Se obtendran todos los id de los contenedores y estos seran borrados
• docker ps
○ Muestra solo los contenedores que se estan ejecutando
○ -a, Muestra todos los contenedores
○ -aq, Solo mostrara los id de todos los contenedores
• docker inspect <image-id|image-name>
○ Muestra la metada sobre el estado del contenedor
• docker inspect -f {{ json .Config.Env}} <image-id|image-name>
○ Le decimos a docker que nos muestre la informacion en formato json del campo config.env que pertenece a la metadata del container
• docker rename <docker-name> <docker-new-name>
○ Comando para renombrar el container
• docker run -d ubuntu tail -f /dev/null
○ Dado que el comando por defecto que ejecutar el contenedor de ubuntu es /bin/bash este se apagara cuando no tenga nada que mostrar
○ Con tail -f /dev/null mostrara el contenido nuevo que nunca llegar a nuestro archivo, de esta manera el contenedor nunca se apagara
• docker exec -it <id|name> <comando>
○ Ejecuta de forma interactiva un comando en el contenedor, por ejemplo docker exec -it ubuntu-name bash
§ Ejecutamos bash dentro del container ubuntu-name
• docker volume
○ create crea un volumen
○ inspect muestra infomacion detallada sobre el/los volume(s)
○ ls lista los volumenes
○ prune borra todo los volumenes que no esten siendo utilizados
○ rm borra 1 o mas volumenes
• docker pull <image name>, descarga una imagen pero no la ejecuta
• docker image ls, lista las imagenes disponibles en tu computadora
• docker build -t <nombre de la imagen> .
○ build, Se construye una imagen a partir de un Dockerfile
○ -t, nombre y opcionalmente un tag o etiqueta <name>:<tag>
○ . (Path) es el contexto de build, un sector en el disco y el deamon de docker puede usar todo lo que esta en tiempo de build, no puede usar
nada que este fuera de este path
• docker tag <image-name> <dockerhub-user>/<image-name>
○ Para poder subir nuestra imagen al repositorio de docker es necesario ponerle una etiqueta especificando nuestra cuenta de dicker hub
• docker push <dockerhub-user>/<image-name>
○ Subimos nuestra imagen al repositorio de docker
• Docker network ls
○ Lista todas las redes disponibles
• Docker network create --atachable <nombre de red>
○ Creamos una red para los contenedores
○ --attachable le decimos a docker que mas contenedores se pueden conectar
• docker network connect <nombre red> <nombre contenedor>
○ Conectamos el conector a una de las redes
• Docker inspect <nombre de red>
○ Obtenemos informacion de nuestrared
○ En el campo containers, podemos ver los contenedores conectados
Buen resumen, gracias por subirlo.