697 palabras
3 minutos
Docker CheatSheet
Docker CheatSheet
Explicación a fondo en:
Comandos básicos Docker
# Listar qué imagenes se tienen en nuestra computadoradocker images
# Listar qué contenedores se se han corrido en nuestra computadoradocker ps -a
# Listar qué contenedores se están ejecutando actualmentedocker ps
# Crear un nuevo contenedordocker run <imagen>
# Ejecutar un comando dentro de un contenedor que ya está corriendodocker exec <imagen> <comando>
# Ejecutar un comando en modo interactivo dentro de un contenedor que ya está corriendodocker exec -it <imagen> <comando>
# Detener un contenedordocker stop <contenedor>
# Iniciar un contenedor anteriormente creado (Vuelve a jalar la configuración con la que fue creado)docker start <contenedor>Ver contenedores que se están/han ejecutado
# Ver que contenedores se ejecutan en backgrounddocker ps# sudo docker run ubuntu sleep 3
# Ver todos los que contenedores se han ejecutadodocker ps -aListar información de un contenedor
# Listar información a bajo nivel de una imagensudo docker run -d ubuntu sleep 60sudo docker inspect id_image
# Ver imagenes que conforman una capa de dockerdocker history ubuntuRevisar logs
# Checar logs de una imagendocker logs id_image
# Checar los logs de una una imagen y quedarse esperandodocker logs -f id_imageDescargar y crear contenedores
# Descarga una imagendocker pull hello-world
# Crear un contenedordocker run hello-world
# Crear un contenedor y eliminarse tras ejecutarsedocker run --rm ubuntu
# Ejecutar un contenedor y asignar un nombredocker run --name hello_ubuntu ubuntuIniciar contenedores
# Abrir un contenedor que se ha cerrado # Obtenemos el IDdocker ps -a # Inicializamos la imagendocker start -i <name_id> # If the container wasn't started with an interactive shell to connect to, you need to do this to run a shell:docker exec -it <name_id> /bin/sh
# Entrar a un contenedor que está corriendodocker psdocker exec -it id_docker /bin/bashDetener contenedores
# Detener un contenedordocker psdocker stop id_name_contenedorBorrar contenedores
Es necesario primero “detener” el contenedor
# Borrar contenedordocker ps -adocker rm <id_contenedor>
# Borrar todos los contenedoresdocker rm $(docker ps -a -q)Borrar imagenes
Es necesario eliminar los contenedores asociados a esta imagen
# Borrar imagenessudo docker rmi <id_imagen>Entrar a un contenedor
# Entrar al contenedor en modo interactivodocker run -it ubuntu
# Entrar al contenedor y ejecutar un comandosudo docker run ubuntu echo "hello world!"Commits & Login a Dockerhub
Cosas a tomar en cuenta para hacer login en cuenta de Docker
- Tener el nombre correcto de la imagen
- username/image
# Obtenemos iddocker ps -a
# Cambiar tag // Solo en caso de ser requeridodocker tag id_image username/image:1.0
# Hacer commit de una imagen de dockerdocker commit id_image user/image:1.0# user/image 1.0 6f5e2d0470ef 9 seconds ago 243MB
# Hacer login en dockerdocker login --username=user
# Enviar imagen a Dockerhubdocker push username/image:1.0Comandos básicos de Dockerfile
Compilar imagen
# Compilar imagendocker build -t user/image .docker build -t user/image /path/to/file
# Compilar imagen sin cachedocker build -t user/image:1.0 . --no-cache=trueDocker cache
El cache de Docker es usado para no ejecutar los comandos una vez que estos ya se han ejecutado.
Ejemplo
Podria causar problemas en instrucciones como:
# Config inicialFROM debianRUN apt-get updateRUN apt-get install -y git
# Config nueva# cacheFROM debian# cacheRUN apt-get update# Estariamos instalando sin antes haber hecho un update, podría descargarse un paquete viejoRUN apt-get install -y curl git vim
# Posible soluciónFROM debianRUN apt-get update && apt-get install -y \ curl \ git \ vim
# Otra soluciondocker build -t user/image:1.0 . --no-cache=trueAlgunas implementaciones útiles de imagenes preconstruidas
# Ejecutar un servidor de NextClouddocker run -p 8080:80 nextcloud
# Ejecutar un servidor de PHPdocker run -p 8080:80 php
# Ejecutar un servidor de PHP con una carpeta en especificodocker run -p 80:80 --rm --name php-app -v "$PWD"/sitio:/var/www/html/ php:7.2-apache
# Ejecutar Mobile Security Frameworksudo docker run -it --name mobsf -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest- Visit your localhost or IP on 8000 port
- localhost:8000
- Default user and password
mobsf:mobsf
Nota final¡Gracias por terminar de leer este artículo! uwur
— El Capitán
¿Tienes alguna duda o te gustaría comentar algo sobre este artículo?
Puedes encontrarme en:
Docker CheatSheet
https://elcaza.github.io/posts/sysadmin/docker_cheatsheet/