Diferencia entre revisiones de «Comandos frecuentes Docker»

De Luis Moreno Wiki
Ir a la navegación Ir a la búsqueda
(Página creada con «Comandos frecuentes Docker Estas listas son un documento vivo que va creciendo con el tiempo -- Descargar Ubuntu docker pull ubuntu/18.04 -- Ver imagenes en ejecución…»)
 
 
(No se muestran 9 ediciones intermedias del mismo usuario)
Línea 2: Línea 2:
 
Estas listas son un documento vivo que va creciendo con el tiempo
 
Estas listas son un documento vivo que va creciendo con el tiempo
  
-- Descargar Ubuntu
+
-- Ejecutar un contenedor
docker pull ubuntu/18.04
+
docker run nginx
 +
donde nginx es el nombre del contenedor
  
-- Ver imagenes en ejecución
+
-- 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
 
   docker ps
  
-- ver imagenes en disco
+
-- 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
 +
 
 +
-- Detenr un contenedor sin esperar, por default docker espera 10 segundos antes de detener el contenedor con la opción -t puedes establecer el tiempo de espera para disminuir o aumentar según la necesidad, el siguiente comando no espera para detener el contenedor
 +
docker stop nginx -t 0
 +
 
 +
-- Eliminar un contenedor
 +
docker rm silly_sammet
 +
 
 +
-- Ver imagenes en disco
 
   docker images
 
   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
 
-- ejecutar bash de un docker
 
   docker run -ti ubuntu /bin/bash
 
   docker run -ti ubuntu /bin/bash
 +
i = interactive<br> t = assign a tty
 +
  
 
-- Guardar cambios al contenedor --
 
-- Guardar cambios al contenedor --
  
-- Obetner el ID del 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
 
   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
 
-- Aplicar cambios al contenedor
 
   docker commit <id-delContenedor> nombrecontenedor
 
   docker commit <id-delContenedor> nombrecontenedor
 +
Ejemplo:
 +
docker commit 0e198 ubuntuconnmap
  
 
-- Docker bridge
 
-- Docker bridge
 
   docker network create --subnet 192.168.15.0/24 --gateway 192.168.15.1 homenet
 
   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
 
   docker run -it --net homenet --ip 192.168.15.100 kaliman

Revisión actual del 21:38 21 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

-- Detenr un contenedor sin esperar, por default docker espera 10 segundos antes de detener el contenedor con la opción -t puedes establecer el tiempo de espera para disminuir o aumentar según la necesidad, el siguiente comando no espera para detener el contenedor

docker stop nginx -t 0

-- 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