Acerca del proyecto
En este post vamos a crear el primer ejemplo utilizando docker que es un hola mundo, vamos a ver los comandos docker que vamos a utilizar en los siguientes ejercicios, lo que vamos a hacer es descargar nuestra primera imagen y vamos a hablar un poco sobre ella, para entender el funcionamiento y aprender ya que con esta base de conocimiento vamos a trabajar en el curso.
Conocimiento previo
Para realizar este proyecto se requiere conocimiento previo de los siguientes temas, si aun no has trabajado con lo que se menciona en la siguiente tabla, allí están los links a los post para que puedas dar un repaso adicional o puedas recordar el conocimiento necesario para poder realizar este proyecto.
Proyecto | Descripción |
---|---|
Introducción docker | Iniciamos con docker, donde conoceremos los temas que vamos a trabajar en este curso, aprenderemos a usar este gestor de contenedores con todas sus funcionalidades, ademas realizaremos ejercicios prácticos para reforzar el conocimiento aprendido. |
¿Qué es docker? | ¿Qué es docker?, es una plataforma que permite crear e implementar aplicaciones rápidamente. En este post aprenderás a detalle la definición, sus características y la diferencia con las tecnologías de aplicaciones tradicionales. |
¿Qué es un contenedor? | ¿Qué es un contenedor de docker?, lo podemos definir como una forma de limitar los recursos para una aplicación, donde solo va a contener sus librerías, configuraciones, entre otros. En este post explicamos a detalle los contenedores. |
¿Qué es una imagen en docker? | ¿Qué es una imagen en docker?, es un archivo compuesto por múltiples capas, que se utiliza para ejecutar código en un contenedor de docker. En este post aprenderás la definición y como usar las imagenes para crear contenedores. |
Instalar docker en windows | En este post vamos a instalar docker en Windows, usando una máquina virtual creada en hyper-v y explicaremos el paso a paso de esta forma de instalar docker. |
Instalar docker en linux | Realizamos la instalación en Linux para cualquier distribución, para esto descargaremos el archivo de get docker que identifica la distribución y descargará el paquete docker necesario para la instalación. |
Iniciar con docker
Vamos a iniciar con docker ejecutamos el siguiente comando, dónde nos devolverá un listado con todas las instrucciones básicas que podemos usar con este comando, adicionalmente vamos a ver las opciones que podemos ejecutar después de cada instrucción.[1]
docker
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options:
--config string Location of client config files (default
"C:\\Users\\codigoelectronica\\.docker")
-c, --context string Name of the context to use to connect to the
daemon (overrides DOCKER_HOST env var and
default context set with "docker context use")
-D, --debug Enable debug mode
-H, --host list Daemon socket(s) to connect to
-l, --log-level string Set the logging level
("debug"|"info"|"warn"|"error"|"fatal")
(default "info")
--tls Use TLS; implied by --tlsverify
--tlscacert string Trust certs signed only by this CA (default
"C:\\Users\\codigoelectronica\\.docker\\ca.pem")
--tlscert string Path to TLS certificate file (default
"C:\\Users\\codigoelectronica\\.docker\\cert.pem")
--tlskey string Path to TLS key file (default
"C:\\Users\\codigoelectronica\\.docker\\key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit
Comandos de gestión
A continuación tenemos un listado de las instrucciones básicas de administración de docker para poder crear los contenedores y las imágenes, esto lo vamos ir viendo en el curso con más detalle y un ejemplo práctico para que la puedan entender claramente.
Comando | Descripción |
---|---|
builder | Administrar compilaciones |
config | Administrar configuraciones de Docker |
container | Administrar contenedores |
context | Administrar contextos |
image | Administrar imágenes |
network | Administrar redes |
node | Administrar nodos de enjambre |
plugin | Administrar complementos |
secret | Administrar los secretos de Docker |
service | Administrar servicios |
stack | Administrar pilas de Docker |
swarm | Administrar enjambre |
system | Administrar Docker |
trust | Gestionar la confianza en las imágenes de Docker |
volume | Administrar volúmenes |
Comandos
Este es un listado de las instrucciones que podemos utilizar cuando estamos trabajando con imágenes en docker, en post futuros vamos a ver la funcionalidad de cada uno de ellos con un ejercicio práctico y la descripción de cada una de ellas.
Comando | Descripción |
---|---|
attach | Adjunte flujos de entrada, salida y error estándar locales a un contenedor en ejecución |
build | Crear una imagen desde un Dockerfile |
commit | Create a new image from a container's changes |
cp | Crear una nueva imagen a partir de los cambios de un contenedor |
create | Crea un nuevo contenedor |
deploy | Implemente una nueva pila o actualice una pila existente |
diff | Inspeccionar cambios en archivos o directorios en el sistema de archivos de un contenedor |
events | Get real time events from the server |
exec | Ejecute un comando en un contenedor en ejecución |
export | Exportar el sistema de archivos de un contenedor como un archivo tar |
history | Mostrar el historial de una imagen |
images | Lista de imágenes |
import | Importe el contenido de un tarball para crear una imagen del sistema de archivos |
info | Mostrar información de todo el sistema |
inspect | Devuelve información de bajo nivel sobre objetos Docker |
kill | Mata uno o más contenedores en funcionamiento |
load | Cargar una imagen desde un archivo tar o STDIN |
login | Inicie sesión en un registro de Docker |
logout | Cerrar sesión en un registro de Docker |
logs | Obtener los registros de un contenedor |
pause | Pause todos los procesos dentro de uno o más contenedores |
port | Lista de asignaciones de puertos o una asignación específica para el contenedor |
ps | Lista de contenedores |
pull | Extraer una imagen o un repositorio de un registro |
push | Empuje una imagen o un repositorio a un registro |
rename | Renombrar un contenedor |
restart | Restart one or more containers |
rm | Reiniciar uno o más contenedores |
rmi | Eliminar una o más imágenes |
run | Ejecute un comando en un nuevo contenedor |
save | Guarde una o más imágenes en un archivo tar (transmitido a STDOUT de forma predeterminada) |
search | Buscar en Docker Hub imágenes |
start | Iniciar uno o más contenedores detenidos |
stats | Mostrar una transmisión en vivo de estadísticas de uso de recursos de contenedor (es) |
stop | Detener uno o más contenedores en ejecución |
tag | Cree una etiqueta TARGET_IMAGE que haga referencia a SOURCE_IMAGE |
top | Mostrar los procesos en ejecución de un contenedor |
unpause | Descomprima todos los procesos dentro de uno o más contenedores |
update | Actualizar la configuración de uno o más contenedores |
version | Mostrar la información de la versión de Docker |
wait | Bloquee hasta que uno o más contenedores se detengan, luego imprima sus códigos de salida |
Hello world
Despues de instalar docker en cualquier sistema operativo con el que vamos a trabajar, haber leído y entendido los conceptos previos que necesitamos para poder utilizar docker y conocer qué son las imágenes y qué son los contenedores, vamos a iniciar con un pequeño ejercicio para poder entender cómo es que podemos descargar una imagen ejecutarla, ver el proceso que necesitamos para poder iniciar con docker.
Lo primero que vamos a hacer es descargar la imagen busybox desde el repositorio principal de imágenes docker hub, para ello vamos a ejecutar la siguiente instrucción en la terminal de comandos o puede ser también en una terminal de powershell
docker run busybox echo hello world
Lo que hace esta instrucción es conectarse a docker hub, buscará la imagen busybox, comenzará la descarga de cada una de las capas que la componen; observamos en la siguiente imagen donde podemos ver el pull de esta imagen, luego la ejecutará para ello usara los parametros enviados que son el echo, como resultado nos mostrara el mensaje que colocamos.
Una de las instrucciones que vamos a utilizar a menudo es docker PS, esta instrucción lo que nos permite ver todos los contenedores que se están ejecutando en estos momentos y los que ya se detuvieron, adicional nos va a mostrar información del estado, de qué imagen proviene Y cuándo fue ejecutado por última vez.
docker ps
docker ps -a
Una característica principal de este resultado del docker ps que vamos a tratar en otro post con más detalle, es el identificador del contenedor que es único e irrepetible, con este identificador nosotros podemos acceder al contenedor y realizar varias acciones ejecutar varias instrucciones sin afectar los demás contenedores.
Por último tenemos la siguiente instrucción que es docker images, la cual nos permite visualizar todas las imágenes que tenemos descargadas en la máquina local con sus características principales.
docker images
En la siguiente imagen podemos ver el resultado de la ejecución de esta instrucción.
Referencias
[1] docker https://docs.docker.com/docker-for-windows, Consultado Junio 2020