Diferencia entre revisiones de «Comandos frecuentes Docker»

De Luis Moreno Wiki
Ir a la navegación Ir a la búsqueda
Línea 36: Línea 36:
 
  docker run -p 80:8080 flaskimage
 
  docker run -p 80:8080 flaskimage
  
 +
-- Montar un directorio del host al contenedor por ejemplo tenemos una carpeta con código en /applocal y queremos que la comparta con el contenedor en /appcontenedor
 +
docker run -ti -v applocal:/home/lmoreno/appcontenedor
  
 
-- Detener un contenedor
 
-- Detener un contenedor

Revisión del 15:24 7 feb 2021

Comandos frecuentes Docker Estas listas son un documento vivo que va creciendo con el tiempo

-- Ejecutar un contenedor

docker run nginx

donde nginx es el nombre del contenedor

-- Ejecutar un comando del contenedor

docker exec silly_sammet cat /etc/hosts

-- Entrar al shell en un contenedor ya ejecutándoselo

docker exec –it docker.test /bin/bash

-- Para entrar al shell de un contenedor ya ejecutándose y que tome el nombre automáticamente basado en un text del nombre de la imagen. Por ejemplo tengo una imagen que se llama Kali.distro pero la reinicio y me da un nombre de contenedor diferente cada vez, con el siguiente comando, ya no tengo que especificar el nombre, el comando se encarga de tomar el nombre del contenedor que se encuentre en ejecución.

docker exec -it $(docker container ls | grep -i kali | awk '{print $NF}') /bin/bash

-- Ejecutar en modo de-attached o en el background

docker run -d kodecloud/simple-webapp

-- Atacharse a un contenedor que se inicio con la opción -d detached

docker attach silly_sammet

o también

docker attach a09455

-- Ver imagenes en ejecución, container ID, nombre de la imagen, comando, etc.

 docker ps

-- Ver el historial de todos los contenedores, incluso los que están detenidos

docker ps -a

-- Exponer puerto de docker en el host

docker run -p <puertoHost>:<puertoContenedor> nombreImagen 

Ejemplo exponer el puerto 8080 del contenedor en el puerto 80 del host:

docker run -p 80:8080 flaskimage

-- Montar un directorio del host al contenedor por ejemplo tenemos una carpeta con código en /applocal y queremos que la comparta con el contenedor en /appcontenedor

docker run -ti -v applocal:/home/lmoreno/appcontenedor

-- Detener un contenedor

docker stop nginx

se puede usar el container ID o el nombre

-- Eliminar un contenedor

docker rm silly_sammet

-- Ver imagenes en disco

 docker images

-- Eliminar imágenes

docker rmi nginx

-- Formar el eliminado de la imagen

docker rmi -f nginx

-- Descargar el contenedor de Ubuntu sin ejecutar

docker pull ubuntu/18.04

-- ejecutar bash de un docker

 docker run -ti ubuntu /bin/bash

i = interactive
t = assign a tty


-- Guardar cambios al contenedor --

-- Primero se debe entrar al contenedor, hacer los cambios y salir con exit, posteriormente ejecutar el comando

-- Obtener el ID del último contenedor (l = latest)

 docker ps -l

-- También puede ser all que muestra todos los contenedores, incluso los detenidos (a = all)

 docker ps -a

-- Aplicar cambios al contenedor

 docker commit <id-delContenedor> nombrecontenedor

Ejemplo:

docker commit 0e198 ubuntuconnmap

-- Docker bridge

 docker network create --subnet 192.168.15.0/24 --gateway 192.168.15.1 homenet
 docker run -it --net homenet --ip 192.168.15.100 kaliman