Ir al contenido principal

Algunos Comandos de Docker

Docker, según Wikipedia, Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de virtualización de aplicaciones en múltiples sistemas operativos.​

Terminología de Docker, tener presente la siguiente jerga del ecosistema de docker:
  • ¿Qué son imágenes?, los planos de nuestra aplicación que forman la base de los contenedores.
  • ¿Qué son contenedores?, son creados a partir de imágenes Docker y ejecutan la aplicación real.
  • ¿Qué es docker daemon?, es el servicio en segundo plano que se ejecuta en el host que gestiona la construcción, ejecución y distribución de contenedores Docker.
  • ¿Qué es docker client?, es la herramienta de línea de comandos que permite al usuario interactuar con el daemon.
  • ¿Qué es docker hub?, es un registro de imágenes docker, en la nube aquí encontrarás gran cantidad de otras imágenes disponibles para utilizar.
  • ¿Qué es un dockerfile?, es un archivo de texto simple que contiene una lista de comandos que el cliente Docker llama al crear una imagen.

Comandos Docker

Estos son algunos de los comandos más comunes y utilizados:

docker version
  • Comprobar o verificar la versión actual de docker.
docker run "nombre de la imagen"
  • Esto nos permite ejecutar o correr nuestra imagen.
docker images
  • Nos permite ver todas las imágenes docker que tenemos en nuestro sistema.
docker pull "nombre de la imagen"
  • Nos permite descargar el proyecto del registro de docker.
docker ps
  • Muestra todo los contenedores que se están ejecutando actualmente.
docker ps -a
  • Muestra los contenedores que fueron ejecutados.
docker run -it "nombre del proyecto" sh
  • Al ejecutar run con las banderas -it este nos conecta a un tty interactivo en el contenedor.
docker rmi "id de la imagen"
  • Nos permite borrar la imagen de un contenedor en nuestro sistema.
docker rmi -f $(docker images -q)
  • Nos permite BORRAR TODAS las imágenes que tenemos. Usar con cuidado!
  • -f : fuerza el borrado.
docker rm -f $(docker ps -a -q)
  • Nos permite BORRAR TODOS los contenedores que tenemos. Usar con cuidado!
  • -f : fuerza el borrado.
docker container list
  • Muestra todos los contenedores que tenemos.
docker ps -a -q -f status=exited
  • -q : solo devuelve los ID numéricos
  • -f : es para especificar en función de la condición especificada.
  • Con exited elimina todos los contenedores que tienen un estado exited.
docker container prune
  • Realiza la misma función que el anterior, borrando los contenedores con estado exited.
docker run -d -P --name "cualquier nombre" "contenedor a ejecutar"
  • -d : separa nuestro terminal.
  • -P : publica todos los puertos expuestos a puertos aleatorios.
  • --name : corresponde al nombre que queremos dar.
docker port "nombre del container"
  • Con esto vemos los puertos que la máquina host le da al contenedor.
docker run -p "puerto host":"puerto de la aplicación del contenedor"
  • Especificamos un puerto personalizado al cual el cliente reenviará las conexiones al contenedor.
docker stop "ID del contenedor o nombre"
  • Detenemos un contenedor.
docker search "nombre de la imagen"
  • Podremos buscar imágenes.
docker push "nombre del contenedor"
  • Nos permite subir el docker a nuestro repositorio.
docker -i -t "nombre del contenedor"
  • Con esto podremos entrar a interactuar en la línea de comando del contenedor.
Por el momento es todo, asique ¡happy docking! 😎

Comentarios

Entradas populares de este blog

Patrones de Arquitectura

Son decisiones de diseño importantes ya tomadas para generar un esquema, estructura o tipo de comunicación entre componentes. Dominio:  Arquitectura de Software. Patrones monolíticos vs distribuidos Monolíticos : En este tipo de patrones, se entiende que existe una comunicación directa entre las partes del sistema, pero al distribuir dicho sistema este funciona como un ente único, esto dificulta la manutención del mismo pues no se pueden alterar partes especificas sin afectar al sistema en su totalidad, sin embargo, se puede desarrollar de manera más rápida. Distribuidos : En este caso, el patrón distribuido es aquel que despliega el sistema en forma seccionada, cada uno de los subsistemas funcionan como entes monolíticos de por si, esto facilita la manutención o la alteración de estos subsistemas sin dañar el sistema en su totalidad, sin embargo, se debe tener cuidado de generar inconvenientes de comunicación entre los subsistemas. Gran Bola de Lodo : Es un patrón que surge del de...

Diseño de una Arquitectura

¡Maravilloso este punto, tantas opciones para elegir puede hacer que tomes una decisión no acertada… pero si basamos nuestra decisión en la experiencia ajena (exitosamente probada), seguro que llegamos a puerto seguro! Dominio:  Arquitectura de Software. Primer paso para crear una arquitectura. Pararse en hombros de gigantes Aprovechar el conocimiento existente para nuestra solución. Productos “de la estantería”. Productos ya echos que resuelvan parte de nuestros problemas. Frameworks y librerías. Ayuda a empezar/proponer desde una arquitectura más especifica. Arquitecturas especificas del dominio. Decisiones de diseño ya tomadas para ciertos dominios del problema. Patrones de arquitectura. Empezar desde un punto mas solido y restringir nuestro diseño a las partes importantes que quedan por resolver. Herramientas y partes de un diseño: Tipos de conectores La arquitectura está separada en dos partes fundamentales: Componentes : Son partes de nuestro sistema que cumplen una función e...

Atributos de Calidad

Son las expectativas de usuario, en general implícitas, de cuan bien funcionará un producto. Los atributos tienen identidad en si mismos y son las cualidades de la que todos hablamos, cuando un sistema es bueno o malo en algún aspecto. "Los atributos de calidad son las expectativas de usuario, en general implícitas, de cuán bien funcionará un producto." Software Requirements: 3rd Edition (Wiegers, Betty, 2013) Dominio:  Arquitectura de Software. Idoneidad Funcional  Tiene que ver con la conexión del usuario (tareas u objetivos a resolver con el sistema) y como están implementadas funcionalmente en dicho sistema. Se puede dividir en 3 partes: Completitud funcional : cuan completa esta la implementación con respecto a lo que se espera del sistema. Requerimientos Funcionales vs Funcionalidades implementadas. Exactitud funcional : cuan preciso es el sistema para implementar lo requerido. Resultados Esperados vs Resultados Obtenidos. Pertinencia funcional : cuan alineado esta lo ...