viernes, 26 de noviembre de 2021

Comandos Docker

Posted by q3it on viernes, noviembre 26, 2021 in
Docker tiene una arquitectura típica cliente-servidor y no es un servidor web sino un "daemon", un servicio del sistema operativo.

Contenedores

  • Es lo más fundamental de Docker.
  • La anotación más importante es que un contenedor es una agrupación de procesos.
  • Es una entidad lógica.
  • Los procesos no pueden ver más allá de ese contenedor.
  • No tiene forma de consumir más recursos que los que el propio contenedor les permite.
  • Lo único que se comparte entre una máquina host y un contenedor es el kernel.
  • ¿ A que parte del disco puede tener acceso un contenedor? Todo se limita por el Paht o la raíz del directorio.
COMANDOS

Uso Genérico
  • info muestra información relativa a la instalación de Docker, como por ejemplo el número y estado de los contenedores, la versión del servidor, el almacenamiento utilizado, los plugins instalados, etc...
  • version indica las versiones instaladas, tanto de servidor como de cliente
  • system permite ejecutar comandos relacionados con la gestión de Docker
  • prune elimina todos los contenedores detenidos, todas las redes que no estén en uso por al menos un contenedor, imágenes colgadas y la caché de construcción (build cache)
Gestión de imágenes
  • images [-a] muestra las imágenes existentes en la caché de imágenes local. Para cada una, nos muestra su tag, el image ID, la fecha de creación y su tamaño. Parámetros:
  • -a muestra todas las imágenes intermedias (por defecto se ocultan)
  • search <término>[:<tag>] busca imágenes en el repositorio Docker Hub cuyo nombre coincida con <término>. Si se especifica :<tag>, entonces filtra aquellas imágenes que contengan dicho tag.
  • pull <imagen>[:<tag>] descarga de Docker Hub la imagen <imagen> y la instala en nuestro repositorio Docker local. Si se especifica :<tag>, entonces descarga el tag especificado.
  • build [-t <DockerId>/<proyecto>[:<tag>]] [-f <fichero>] <carpeta> crea la imagen definida en el Dockerfile de la carpeta <carpeta>. <carpeta> debe contener todos los elementos necesarios para crear la imagen. Para crear la imagen final, Docker va recorriendo cada paso del fichero Dockerfile, creando un contenedor temporal a partir de la imagen guardada correspondiente al contenedor ejecutado en el paso anterior. La imagen de salida del último paso será la imagen que se transfiera al archivo final. Parámetros:
    • -t <DockerId>/<proyecto>[:<tag>] indica un nombre para la imagen creada. Este nombre está formado por el DockerId del usuario que lo crea, seguido de /, seguido de un nombre de proyecto, seguido opcionalmente de : y un nombre de tag o versión. Normalmente se suele usar el texto latest para indicar que es la última versión estable. En caso de no usar el parámetro <tag>, se le asignará latest.
    • -f <fichero> le indica que en vez de utilizar el fichero por defecto Dockerfile, deberá utilizar <fichero> para la construcción.
Explorar el es estado de Docker
  • docker ps : Lista los contenedores que corren.
  • docker ps -a : Muestra los contenedores que están parados y también los que están corriendo.
  • docker inspect (id del contenedor) : Nos muestra toda la información del contenedor.
  • docker inspect -f '{{json.config.env}}' condescending_lamport : Esta instrución nos trae el Paht en el que está configurado el contenedor.
  • echo PAHT : Nos trae el paht de mi máquina.
  • docker rename condescending_lamport hola_mundo : Esta instrucción cambia el nombre del contenedor o lo renombra. Nota: Con cada docker run estaríamos creando un contenedor nuevo, lo que comparten es la imagen ya creada.
  • docker logs hola_mundo : Esta instrucción nos trae los logs del contenedor hola_mundo y todo lo que concierne a los movimientos que tuvo el contenedor.
  • docker rm hola_mundo : Esta instrucción borra el contenedor.

Modo interactivo
  • docker run it ubuntu : Esto pone el contenedor ubuntu de forma iterativa.
  • Esta instrucción nos entra al contenedor y le podríamos consultar la data así... cat /etc/lsb-release
  • Si quisiéramos salir le damos exit, con esto, mataríamos el proceso.


Referencia web Listado de Comandos de Docker CLI | ramoncarrasco.es