Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Docker PDF
Docker PDF
Docker - Inicio
Docker - Descripción general
Docker: instalación de Docker en Linux
Docker - Instalación
Docker - Hub
Docker - Imágenes
Docker - Contenedores
Docker - Trabajando con contenedores
Docker - Arquitectura
Docker - Contenedor y Anfitriones
Docker - Configuración
Docker - Contenedores y Conchas
Docker - Archivo
Docker - Archivos de construcción
Docker - Repositorios públicos
Docker - Gestión de puertos
Docker - Registros privados
Creación de un archivo Docker de servidor web
Docker - Comandos de instrucciones
Docker - Vinculación de contenedores
Docker - Almacenamiento
Docker - Redes
Docker: configuración de Node.js
Docker - Configuración de MongoDB
Docker - Configuración de NGINX
Docker - Caja de herramientas
Docker - Configuración de ASP.Net
Docker - Nube
Docker - Registro
Docker - Componer
Docker - Integración continua
Docker - Arquitectura Kubernetes
Docker - Trabajo de Kubernetes
Docker - Descripción general
Docker es un servicio de gestión de contenedores. Las palabras clave de
Docker son desarrollar, enviar y ejecutar en cualquier lugar. La idea de
Docker es que los desarrolladores desarrollen fácilmente aplicaciones, las
envíen a contenedores que luego se pueden implementar en cualquier lugar.
El lanzamiento inicial de Docker fue en marzo de 2013 y, desde entonces, se
ha convertido en la palabra de moda para el desarrollo del mundo moderno,
especialmente frente a proyectos basados en Agile.
Características de Docker
Docker tiene la capacidad de reducir el tamaño del desarrollo al proporcionar una
huella más pequeña del sistema operativo a través de contenedores.
Con los contenedores, es más fácil para los equipos de diferentes unidades, como
desarrollo, control de calidad y operaciones, trabajar sin problemas en todas las
aplicaciones.
Puede implementar contenedores Docker en cualquier lugar, en cualquier máquina
física y virtual e incluso en la nube.
Como los contenedores Docker son bastante livianos, son fácilmente escalables.
Componentes de Docker
Docker tiene los siguientes componentes
Docker para Mac : permite ejecutar contenedores Docker en Mac OS.
Docker para Linux : permite ejecutar contenedores Docker en el sistema
operativo Linux.
Docker para Windows : permite ejecutar contenedores Docker en el sistema
operativo Windows.
Docker Engine : se utiliza para crear imágenes de Docker y crear contenedores
de Docker.
Docker Hub : este es el registro que se utiliza para alojar varias imágenes de
Docker.
Docker Compose : se utiliza para definir aplicaciones que utilizan múltiples
contenedores Docker.
Discutiremos todos estos componentes en detalle en los capítulos siguientes.
El sitio oficial de Docker es https://www.docker.com/. El sitio tiene toda la
información y documentación sobre el software Docker. También tiene los
enlaces de descarga para varios sistemas operativos.
Opciones
a - Esto se utiliza para garantizar que se devuelva la información del sistema.
Valor de retorno
Este método devuelve la siguiente información sobre el sistema Linux:
Ejemplo
uname –a
Salida
Cuando ejecutamos el comando anterior, obtendremos el siguiente resultado:
Valor de retorno
Ninguna
Ejemplo
sudo apt-get update
Salida
Cuando ejecutamos el comando anterior, obtendremos el siguiente resultado:
www.postparaprogramadores.com
/
Este comando se conectará a Internet y descargará los últimos paquetes del
sistema para Ubuntu.
Paso 3 : el siguiente paso es instalar los certificados necesarios que se
necesitarán para trabajar con el sitio Docker más adelante para descargar los
paquetes Docker necesarios. Se puede hacer con el siguiente comando.
sudo apt-get install apt-transport-https ca-certificates
Paso 8 : emita el comando apt-get update para asegurarse de que todos los
paquetes del sistema local estén actualizados.
Paso 9 : para Ubuntu Trusty, Wily y Xenial, tenemos que instalar los paquetes
de kernel linux-image-extra- *, que permiten utilizar el controlador de
almacenamiento aufs . Este controlador es utilizado por las versiones más
nuevas de Docker.
Se puede hacer usando el siguiente comando.
sudo apt-get install linux-image-extra-$(uname -r)
linux-image-extra-virtual
Versión Docker
Para ver la versión de Docker ejecutándose, puede emitir el siguiente
comando:
Sintaxis
docker version
Opciones
version : se utiliza para garantizar que el comando Docker devuelva la versión
Docker instalada.
Valor de retorno
La salida proporcionará los diversos detalles de la versión de Docker instalada
en el sistema.
Ejemplo
sudo docker version
Salida
Cuando ejecutamos el programa anterior, obtendremos el siguiente resultado:
Información de Docker
Para ver más información sobre el Docker que se ejecuta en el sistema, puede
emitir el siguiente comando:
Sintaxis
docker info
Opciones
info : se utiliza para garantizar que el comando Docker devuelva la información
detallada sobre el servicio Docker instalado.
Valor de retorno
La salida proporcionará los diversos detalles del Docker instalado en el
sistema, tales como:
Numero de contenedores
Numero de imagenes
El controlador de almacenamiento utilizado por Docker
El directorio raíz utilizado por Docker
El controlador de ejecución utilizado por Docker
Ejemplo
sudo docker info
Salida
Cuando ejecutamos el comando anterior, obtendremos el siguiente resultado:
Docker ToolBox
Una vez que se haya descargado el instalador, haga doble clic en él para
iniciar el instalador y luego siga los pasos que se detallan a continuación.
Paso 1 - Haz clic en el botón Siguiente en la pantalla de inicio.
Paso 4 : mantenga las tareas adicionales como están y luego haga clic en el
botón Siguiente.
Valor de retorno
La salida ejecutará el comando en el contenedor deseado.
Ejemplo
sudo docker run hello-world
Este comando descargará la imagen hello-world , si aún no está presente, y
ejecutará hello-world como contenedor.
Salida
Cuando ejecutamos el comando anterior, obtendremos el siguiente resultado:
Docker - Hub
Docker Hub es un servicio de registro en la nube que le permite descargar
imágenes de Docker creadas por otras comunidades. También puede cargar
sus propias imágenes creadas de Docker en Docker Hub. En este capítulo,
veremos cómo descargar y usar la imagen de Jenkins Docker desde Docker
Hub.
El sitio oficial de Docker Hub es: https://www.docker.com/community-
edition#/add_ons
Paso 1 : primero debe hacer un registro simple en Docker Hub.
Paso 2 : una vez que te hayas registrado, iniciarás sesión en Docker Hub.
Docker - Imágenes
En Docker, todo se basa en imágenes. Una imagen es una combinación de un
sistema de archivos y parámetros. Tomemos un ejemplo del siguiente
comando en Docker.
docker run hello-world
El comando Docker es específico y le dice al programa Docker en el sistema
operativo que hay que hacer algo.
El comando ejecutar se usa para mencionar que queremos crear una instancia de
una imagen, que luego se llama contenedor .
Finalmente, "hello-world" representa la imagen de la que está hecho el
contenedor.
Ahora veamos cómo podemos usar la imagen CentOS disponible en Docker
Hub para ejecutar CentOS en nuestra máquina Ubuntu. Podemos hacer esto
ejecutando el siguiente comando en nuestra máquina Ubuntu:
sudo docker run centos –it /bin/bash
Tenga en cuenta los siguientes puntos sobre el comando sudo anterior :
Estamos utilizando el comando sudo para garantizar que se ejecute
con acceso root .
Aquí, centos es el nombre de la imagen que queremos descargar de Docker Hub
e instalar en nuestra máquina Ubuntu.
─it se usa para mencionar que queremos que se ejecute en modo interactivo .
/ bin / bash se usa para ejecutar el shell bash una vez que CentOS está en
funcionamiento.
Opciones
Ninguna
Valor de retorno
La salida proporcionará la lista de imágenes en el sistema.
Ejemplo
sudo docker images
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
En el resultado anterior, puede ver que el servidor tiene tres
imágenes: centos, newcentos y jenkins . Cada imagen tiene los siguientes
atributos:
TAG : se utiliza para etiquetar lógicamente las imágenes.
ID de imagen : se utiliza para identificar de forma exclusiva la imagen.
Creado : el número de días desde que se creó la imagen.
Tamaño virtual : el tamaño de la imagen.
Opciones
Imagen : este es el nombre de la imagen que se utiliza para ejecutar el
contenedor.
Valor de retorno
La salida ejecutará el comando en el contenedor deseado.
Ejemplo
sudo docker run centos
Este comando descargará la imagen centos , si aún no está presente, y
ejecutará el sistema operativo como un contenedor.
Salida
Cuando ejecutamos el comando anterior, obtendremos el siguiente resultado:
Ahora verá la imagen de CentOS Docker descargada. Ahora, si ejecutamos
el comando Docker images para ver la lista de imágenes en el sistema,
también deberíamos poder ver la imagen centos .
Opciones
ImageID - Este es el ID de la imagen que debe ser eliminado.
Valor de retorno
La salida proporcionará la ID de imagen de la imagen eliminada.
Ejemplo
sudo docker rmi 7a86f8ffcb25
Aquí, 7a86f8ffcb25 es la ID de imagen de la imagen de newcentos .
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
Opciones
q - Le dice al comando Docker que devuelva solo la ID de la imagen.
Valor de retorno
La salida mostrará solo las ID de imagen de las imágenes en el host Docker.
Ejemplo
sudo docker images -q
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
docker inspeccionar
Este comando se utiliza para ver los detalles de una imagen o contenedor.
Sintaxis
docker inspect Repository
Opciones
Repositorio : este es el nombre de la imagen.
Valor de retorno
La salida mostrará información detallada sobre la imagen.
Ejemplo
sudo docker inspect jenkins
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
Docker - Contenedores
Los contenedores son instancias de imágenes Docker que se pueden ejecutar
con el comando Docker run. El propósito básico de Docker es ejecutar
contenedores. Analicemos cómo trabajar con contenedores.
Ejecutando un contenedor
La ejecución de contenedores se gestiona con el comando Docker run . Para
ejecutar un contenedor en modo interactivo, primero inicie el contenedor
Docker.
sudo docker run –it centos /bin/bash
Luego presione Crtl + p y volverá a su shell del sistema operativo.
Listado de Contenedores
Uno puede enumerar todos los contenedores en la máquina a través
del comando docker ps . Este comando se utiliza para devolver los
contenedores actualmente en ejecución.
docker ps
Sintaxis
docker ps
Opciones
Ninguna
Valor de retorno
La salida mostrará los contenedores actualmente en ejecución.
Ejemplo
sudo docker ps
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
docker ps -a
Este comando se usa para enumerar todos los contenedores en el sistema
Sintaxis
docker ps -a
Opciones
─a : le dice al comando docker ps que enumere todos los contenedores del
sistema.
Valor de retorno
La salida mostrará todos los contenedores.
Ejemplo
sudo docker ps -a
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
Opciones
ImageID - Este es el ID de imagen para la que desea ver todos los comandos que
se ejecutan en contra de ella.
Valor de retorno
La salida mostrará todos los comandos ejecutados contra esa imagen.
Ejemplo
sudo docker history centos
El comando anterior mostrará todos los comandos que se ejecutaron contra
la imagen centos .
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
estibador
Con este comando, puede ver los principales procesos dentro de un
contenedor.
Sintaxis
docker top ContainerID
Opciones
ID de contenedor : esta es la ID de contenedor para la que desea ver los
principales procesos.
Valor de retorno
La salida mostrará los procesos de nivel superior dentro de un contenedor.
Ejemplo
sudo docker top 9f215ed0b0d3
El comando anterior mostrará los procesos de nivel superior dentro de un
contenedor.
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
parada de estibador
Este comando se usa para detener un contenedor en ejecución.
Sintaxis
docker stop ContainerID
Opciones
ID de contenedor : esta es la ID de contenedor que debe detenerse.
Valor de retorno
La salida dará la ID del contenedor detenido.
Ejemplo
sudo docker stop 9f215ed0b0d3
El comando anterior detendrá el contenedor Docker 9f215ed0b0d3 .
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
Docker rm
Este comando se usa para eliminar un contenedor.
Sintaxis
docker rm ContainerID
Opciones
ID de contenedor : esta es la ID de contenedor que debe eliminarse.
Valor de retorno
La salida dará la ID del contenedor eliminado.
Ejemplo
sudo docker rm 9f215ed0b0d3
El comando anterior eliminará el contenedor Docker 9f215ed0b0d3 .
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
Opciones
ID de contenedor : esta es la ID de contenedor para la que se deben proporcionar
las estadísticas.
Valor de retorno
La salida mostrará la utilización de la CPU y la memoria del contenedor.
Ejemplo
sudo docker stats 9f215ed0b0d3
El comando anterior proporcionará la utilización de CPU y memoria del
Contenedor 9f215ed0b0d3 .
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
acoplador acoplable
Este comando se utiliza para adjuntar a un contenedor en ejecución.
Sintaxis
docker attach ContainerID
Opciones
ID de contenedor : esta es la ID de contenedor a la que debe adjuntar.
Valor de retorno
Ninguna
Ejemplo
sudo docker attach 07b0b6f434fe
El comando anterior se adjuntará al contenedor Docker 07b0b6f434fe .
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
Opciones
ID de contenedor : esta es la ID de contenedor en la que debe pausar los
procesos en el contenedor.
Valor de retorno
El ID de contenedor del contenedor en pausa.
Ejemplo
sudo docker pause 07b0b6f434fe
El comando anterior pausará los procesos en un contenedor en
ejecución 07b0b6f434fe .
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
Opciones
ID de contenedor : esta es la ID de contenedor en la que necesita deshacer los
procesos en el contenedor.
Valor de retorno
El ID de contenedor del contenedor en ejecución.
Ejemplo
sudo docker unpause 07b0b6f434fe
El comando anterior reanudará los procesos en un contenedor en ejecución:
07b0b6f434fe
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
docker kill
Este comando se usa para matar los procesos en un contenedor en ejecución.
Sintaxis
docker kill ContainerID
Opciones
ID de contenedor : esta es la ID de contenedor a la que debe eliminar los
procesos en el contenedor.
Valor de retorno
El ID de contenedor del contenedor en ejecución.
Ejemplo
sudo docker kill 07b0b6f434fe
El comando anterior matará los procesos en el contenedor en
ejecución 07b0b6f434fe .
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
Docker - Ciclo de vida del contenedor
La siguiente ilustración explica el ciclo de vida completo de un contenedor
Docker.
Docker - Arquitectura
La siguiente imagen muestra la arquitectura estándar y tradicional de
la virtualización .
El servidor es el servidor físico que se usa para alojar múltiples máquinas
virtuales.
El sistema operativo host es la máquina base como Linux o Windows.
El hipervisor es VMWare o Windows Hyper V que se usa para alojar máquinas
virtuales.
Luego, instalaría múltiples sistemas operativos como máquinas virtuales sobre el
hipervisor existente como SO invitado.
Luego alojaría sus aplicaciones en la parte superior de cada SO invitado.
La siguiente imagen muestra la nueva generación de virtualización que se
habilita a través de Dockers. Echemos un vistazo a las diversas capas.
Imágenes de Docker
Ejecutemos el comando Docker images en el host de Windows.
Desde aquí, podemos ver que tenemos dos imágenes: ubuntu y hello-world .
Ejecutando un contenedor
Ahora ejecutemos un contenedor en el host de Windows Docker.
Podemos ver que al ejecutar el contenedor, ahora podemos ejecutar el
contenedor de Ubuntu en un host de Windows.
Parar un contenedor
Detengamos ahora un contenedor en ejecución en el host de Windows.
Entonces puede ver que el motor Docker es bastante consistente cuando se
trata de diferentes hosts Docker y funciona en Windows de la misma manera
que funciona en Linux.
Docker - Configuración
En este capítulo, veremos las diferentes opciones para configurar Docker.
Opciones
Ninguna
Valor de retorno
Un mensaje que muestra que el proceso de Docker se ha detenido.
Ejemplo
sudo service docker stop
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
inicio de servicio
Este comando se utiliza para iniciar el proceso del demonio Docker.
Sintaxis
service docker start
Opciones
Ninguna
Valor de retorno
Un mensaje que muestra que el proceso Docker ha comenzado.
Ejemplo
sudo service docker start
Salida
Cuando ejecutamos el comando anterior, producirá el siguiente resultado:
nsenter
Este método permite conectar uno a un contenedor sin salir del contenedor.
Sintaxis
Comando nsenter –m –u –n –p –i –t containerID
Opciones
-u se usa para mencionar el espacio de nombres Uts
-m se usa para mencionar el espacio de nombres de montaje
-n se usa para mencionar el espacio de nombres de la red
-p se usa para mencionar el espacio de nombres del proceso
-i s para hacer que el contenedor se ejecute en modo interactivo.
-t se usa para conectar las secuencias de E / S del contenedor al sistema
operativo host.
containerID : esta es la ID del contenedor.
Comando : este es el comando para ejecutar dentro del contenedor.
Valor de retorno
Ninguna
Ejemplo
sudo nsenter –m –u –n –p –i –t 2978 /bin/bash
Salida
Docker - Archivo
En los capítulos anteriores, hemos visto varios archivos de imagen, como
Centos, que se descargan del Docker Hub desde el que puede girar
contenedores. Un ejemplo se muestra nuevamente a continuación.
Si usamos el comando Docker images , podemos ver las imágenes existentes
en nuestro sistema. De la captura de pantalla anterior, podemos ver que hay
dos imágenes: centos y nsenter .
Pero Docker también le brinda la capacidad de crear sus propias imágenes de
Docker, y se puede hacer con la ayuda de Docker Files . Un archivo Docker
es un archivo de texto simple con instrucciones sobre cómo construir sus
imágenes.
Los siguientes pasos explican cómo debe crear un archivo Docker.
Paso 1 : crea un archivo llamado Docker File y edítalo usando vim . Tenga
en cuenta que el nombre del archivo debe ser "Dockerfile" con "D" como
mayúscula.
Docker Build
Este método permite a los usuarios crear sus propias imágenes de Docker.
Sintaxis
docker build -t ImageName:TagName dir
Opciones
-t - es mencionar una etiqueta a la imagen
ImageName : este es el nombre que desea dar a su imagen.
TagName : esta es la etiqueta que desea darle a su imagen.
Dir : el directorio donde está presente el archivo Docker.
Valor de retorno
Ninguna
Ejemplo
sudo docker build –t myimage:0.1.
Aquí, myimage es el nombre que le estamos dando a la Imagen y 0.1 es el
número de etiqueta que le estamos dando a nuestra imagen.
Como el archivo Docker está en el directorio de trabajo actual, utilizamos "." al
final del comando para indicar el directorio de trabajo actual.
Salida
En la salida, primero verá que la imagen de Ubuntu se descargará de Docker
Hub, porque no hay una imagen disponible localmente en la máquina.
Finalmente, cuando se completa la compilación, todos los comandos
necesarios se habrían ejecutado en la imagen.
Aquí tenemos nuestra imagen myimage: 0.1, que se creó como parte del
capítulo "Creación de archivos Docker". Usemos esto para subir al repositorio
público de Docker.
Los siguientes pasos explican cómo puede cargar una imagen en un
repositorio público.
Paso 1 : inicie sesión en Docker Hub y cree su repositorio. Este es el
repositorio donde se almacenará su imagen. Vaya a https://hub.docker.com/ e
inicie sesión con sus credenciales.
Paso 2 - Haz clic en el botón "Crear repositorio" en la pantalla anterior y crea
un repositorio con el nombre demorep . Asegúrese de que la visibilidad del
repositorio sea pública.
Una vez que se crea el repositorio, tome nota del comando de extracción que
se adjunta al repositorio.
El comando de extracción que se utilizará en nuestro repositorio es el
siguiente:
docker pull demousr/demorep
Paso 3 : ahora vuelve al Docker Host. Aquí necesitamos etiquetar
nuestra imagen en el nuevo repositorio creado en Docker Hub. Podemos
hacer esto a través del comando de etiqueta Docker .
Aprenderemos más sobre este comando de etiqueta más adelante en este
capítulo.
Paso 4 : emita el comando de inicio de sesión de Docker para iniciar sesión en
el repositorio de Docker Hub desde el símbolo del sistema. El comando de
inicio de sesión de Docker le pedirá el nombre de usuario y la contraseña del
repositorio de Docker Hub.
etiqueta acoplable
Este método permite etiquetar una imagen en el repositorio relevante.
Sintaxis
docker tag imageID Repositoryname
Opciones
ID de imagen : este es el ID de imagen que debe etiquetarse en el repositorio.
RepositoryName - Este es el nombre del repositorio a la que necesita ser
etiquetado con el ImageID.
Valor de retorno
Ninguna
Ejemplo
sudo docker tag ab0c1d3744dd demousr/demorep:1.0
Salida
A continuación se muestra una salida de muestra del ejemplo anterior.
empuje de estibador
Este método permite enviar imágenes al Docker Hub.
Sintaxis
docker push Repositoryname
Opciones
RepositoryName - Este es el nombre del repositorio que necesita ser empujado
hasta el Hub del estibador.
Valor de retorno
La ID larga del repositorio se envió a Docker Hub.
Ejemplo
sudo docker push demousr/demorep:1.0
Salida
docker inspeccionar
Este método le permite a uno devolver información de bajo nivel sobre el
contenedor o la imagen.
Sintaxis
docker inspect Container/Image
Opciones
Contenedor / Imagen : el contenedor o imagen a inspeccionar
Valor de retorno
La información de bajo nivel de la imagen o contenedor en formato JSON.
Ejemplo
sudo docker inspect jenkins
Salida
Ahora que se han ingresado los detalles del archivo, simplemente guarde el
archivo.
Paso 2 : ejecuta el comando Docker build para compilar el archivo Docker. Se
puede hacer usando el siguiente comando:
sudo docker build –t=”mywebserver” .
Estamos etiquetando nuestra imagen como mywebserver . Una vez que se
crea la imagen, recibirá un mensaje exitoso de que el archivo se ha creado.
Paso 3 : ahora que se ha creado el archivo del servidor web, es hora de crear
un contenedor a partir de la imagen. Podemos hacer esto con
el comando Docker run .
sudo docker run –d –p 80:80 mywebserver
Instrucción CMD
Este comando se usa para ejecutar un comando en tiempo de ejecución
cuando se ejecuta el contenedor.
Sintaxis
CMD command param1
Opciones
comando : este es el comando que se debe ejecutar cuando se inicia el
contenedor.
param1 : este es el parámetro ingresado al comando.
Valor de retorno
El comando se ejecutará en consecuencia.
Ejemplo
En nuestro ejemplo, ingresaremos un simple eco de Hello World en nuestro
archivo Docker y crearemos una imagen y lanzaremos un contenedor desde
él.
Paso 1 : compila el archivo Docker con los siguientes comandos:
FROM ubuntu
MAINTAINER demousr@gmail.com
CMD [“echo” , “hello world”]
Aquí, el CMD solo se usa para imprimir hola mundo .
PUNTO DE ENTRADA
Este comando también se puede usar para ejecutar comandos en tiempo de
ejecución para el contenedor. Pero podemos ser más flexibles con el comando
ENTRYPOINT.
Sintaxis
ENTRYPOINT command param1
Opciones
comando : este es el comando que se debe ejecutar cuando se inicia el
contenedor.
param1 : este es el parámetro introducido en el comando.
Valor de retorno
El comando se ejecutará en consecuencia.
Ejemplo
Echemos un vistazo a un ejemplo para comprender más sobre
ENTRYPOINT. En nuestro ejemplo, ingresaremos un comando
de eco simple en nuestro archivo Docker y crearemos una imagen e
iniciaremos un contenedor desde él.
Paso 1 : compila el archivo Docker con los siguientes comandos:
FROM ubuntu
MAINTAINER demousr@gmail.com
ENTRYPOINT [“echo”]
Opciones
Clave : esta es la clave para la variable de entorno.
valor : este es el valor de la variable de entorno.
Valor de retorno
El comando se ejecutará en consecuencia.
Ejemplo
En nuestro ejemplo, ingresaremos un comando de eco simple en nuestro
archivo Docker y crearemos una imagen e iniciaremos un contenedor desde
él.
Paso 1 : compila el archivo Docker con los siguientes comandos:
FROM ubuntu
MAINTAINER demousr@gmail.com
ENV var1=Tutorial var2=point
WORKDIR
Este comando se usa para establecer el directorio de trabajo del contenedor.
Sintaxis
WORKDIR dirname
Opciones
dirname : el nuevo directorio de trabajo. Si el directorio no existe, se agregará.
Valor de retorno
El comando se ejecutará en consecuencia.
Ejemplo
En nuestro ejemplo, ingresaremos un comando de eco simple en nuestro
archivo Docker y crearemos una imagen e iniciaremos un contenedor desde
él.
Paso 1 : compila el archivo Docker con los siguientes comandos:
FROM ubuntu
MAINTAINER demousr@gmail.com
WORKDIR /newtemp
CMD pwd
Paso 2 : una vez que la imagen esté disponible, ejecute el contenedor, pero
esta vez, puede especificar un nombre para el contenedor utilizando
la opción –-name . Este será nuestro contenedor fuente .
Luego ejecute el comando env . Notará nuevas variables para vincular con el
contenedor de origen.
Docker - Almacenamiento
Controladores de almacenamiento
Docker tiene múltiples controladores de almacenamiento que permiten trabajar
con los dispositivos de almacenamiento subyacentes. La siguiente tabla
muestra los diferentes controladores de almacenamiento junto con la
tecnología utilizada para los controladores de almacenamiento.
AUFS aufs
Btrfs brtfs
VFS vfs
ZFS zfs
Analicemos ahora algunas de las instancias en las que usaría los diversos
controladores de almacenamiento:
AUFS
Este es un controlador estable; puede usarse para aplicaciones listas para
producción.
Tiene un buen uso de memoria y es bueno para garantizar una experiencia fluida
de Docker para contenedores.
Hay una actividad de escritura alta asociada con este controlador que debe
considerarse.
Es bueno para los sistemas que son de plataforma como un tipo de servicio de
trabajo.
Devicemapper
Este es un controlador estable; garantiza una experiencia fluida en Docker.
Este controlador es bueno para probar aplicaciones en el laboratorio.
Este controlador está en línea con la funcionalidad principal del kernel de Linux.
Btrfs
Este controlador está en línea con la funcionalidad principal del kernel de Linux.
Hay una actividad de escritura alta asociada con este controlador que debe
considerarse.
Este controlador es bueno para casos en los que mantiene varios grupos de
compilación.
Ovelay
Este es un controlador estable y está en línea con la funcionalidad principal del
kernel de Linux.
Tiene un buen uso de memoria.
Este controlador es bueno para probar aplicaciones en el laboratorio.
ZFS
Este es un controlador estable y es bueno para probar aplicaciones en el
laboratorio.
Es bueno para sistemas que son de tipo Plataforma como servicio.
Para ver el controlador de almacenamiento que se está utilizando, emita
el comando docker info .
Sintaxis
docker info
Opciones
Ninguna
Valor de retorno
El comando proporcionará toda la información relativa sobre el componente
Docker instalado en el Docker Host.
Ejemplo
sudo docker info
Salida
El siguiente resultado muestra que el controlador principal utilizado es
el controlador aufs y que el directorio raíz se almacena en / var / lib / docker /
aufs .
Volúmenes de datos
En Docker, tiene un volumen separado que se puede compartir entre
contenedores. Estos se conocen como volúmenes de datos . Algunas de las
características del volumen de datos son:
Crear un volumen
Se puede crear un volumen de antemano utilizando
el comando docker . Aprendamos más sobre este comando.
Sintaxis
docker volume create –-name=volumename –-opt options
Opciones
nombre : este es el nombre del volumen que debe crearse.
opt : estas son opciones que puede proporcionar al crear el volumen.
Valor de retorno
El comando mostrará el nombre del volumen creado.
Ejemplo
sudo docker volume create –-name = demo –opt o = size = 100m
En el comando anterior, estamos creando un volumen de tamaño de 100 MB y
con un nombre de demostración.
Salida
La salida del comando anterior se muestra a continuación:
Opciones
Ninguna
Valor de retorno
El comando generará todos los volúmenes en el host docker .
Ejemplo
sudo docker volume ls
Salida
La salida del comando anterior se muestra a continuación:
Docker - Redes
Docker se ocupa de los aspectos de red para que los contenedores puedan
comunicarse con otros contenedores y también con el Docker Host. Si realiza
una configuración if en el Docker Host, verá el adaptador Docker
Ethernet. Este adaptador se crea cuando Docker se instala en el Docker Host.
Opciones
Ninguna
Valor de retorno
El comando generará todas las redes en el Docker Host.
Ejemplo
sudo docker network ls
Salida
La salida del comando anterior se muestra a continuación
Opciones
NetworkName - Este es el nombre de la red que necesita para inspeccionar.
Valor de retorno
El comando generará todos los detalles sobre la red.
Ejemplo
sudo docker network inspect bridge
Salida
La salida del comando anterior se muestra a continuación:
Ahora ejecutemos un contenedor y veamos qué sucede cuando
inspeccionamos la red nuevamente. Hagamos girar un contenedor de Ubuntu
con el siguiente comando:
sudo docker run –it ubuntu:latest /bin/bash
Opciones
nombre del controlador : este es el nombre utilizado para el controlador de red.
nombre : este es el nombre dado a la red.
Valor de retorno
El comando generará la ID larga para la nueva red.
Ejemplo
sudo docker network create –-driver bridge new_nw
Salida
La salida del comando anterior se muestra a continuación:
Ahora puede adjuntar la nueva red al iniciar el contenedor. Entonces,
hagamos girar un contenedor de Ubuntu con el siguiente comando:
sudo docker run –it –network=new_nw ubuntu:latest /bin/bash
Paso 5 : veamos otro ejemplo en el que podemos alojar una página web
simple en nuestro contenedor ngnix . En nuestro ejemplo, crearemos
un archivo HelloWorld.html simple y lo alojaremos en
nuestro contenedor nginx .
Primero creemos un archivo HTML llamado HelloWorld.html
Agreguemos una línea simple de Hello World en el archivo HTML.
Para Windows, debe tener Windows 10 o Windows Server 2016 con Hyper-V
habilitado.
La caja de herramientas consta de los siguientes componentes:
Motor Docker : se utiliza como motor base o demonio Docker que se utiliza para
ejecutar contenedores Docker.
Docker Machine : para ejecutar los comandos de la máquina Docker.
Docker Compose para ejecutar comandos de redacción de Docker.
Cinemática : esta es la GUI de Docker creada para Windows y Mac OS.
Oracle virtualbox
Analicemos ahora los diferentes tipos de actividades que son posibles con
Docker toolbox.
Corriendo en Powershell
Con Docker toolbox en Windows 10, ahora puede ejecutar comandos Docker
fuera de powershell . Si abre powershell en Windows y escribe el comando
de la versión de Docker, obtendrá todos los detalles necesarios sobre la
versión de Docker instalada.
Extraer imágenes y ejecutar contenedores
Ahora también puede extraer imágenes de Docker Hub y ejecutar
contenedores en powershell como lo haría en Linux. El siguiente ejemplo
mostrará brevemente la descarga de la imagen de Ubuntu y la ejecución del
contenedor fuera de la imagen.
El primer paso es usar el comando de extracción de Docker para extraer la
imagen de Ubuntu de Docker Hub.
Kitematic
Esta es la GUI equivalente de Docker en Windows. Para abrir esta GUI, vaya
a la barra de tareas y en el icono de Docker, haga clic derecho y elija abrir
Kitematic.
Una vez que haya iniciado sesión, podrá ver todas las imágenes descargadas
en el sistema en el lado izquierdo de la interfaz.
En el lado derecho, encontrará todas las imágenes disponibles en Docker
Hub.
Tomemos un ejemplo para entender cómo descargar la imagen Node de
Docker Hub usando Kitematic.
Paso 1 : ingrese la palabra clave del nodo en los criterios de búsqueda.
Paso 2 : haga clic en el botón Crear en la imagen oficial del nodo. Luego verá
la imagen que se está descargando.
Docker - Nube
Docker Cloud es un servicio proporcionado por Docker en el que puede
realizar las siguientes operaciones:
Nodos : puede conectar Docker Cloud a sus proveedores de nube existentes,
como Azure y AWS, para activar contenedores en estos entornos.
Repositorio en la nube : proporciona un lugar donde puede almacenar sus
propios repositorios.
Integración continua : conéctese con Github y cree una tubería de integración
continua.
Implementación de aplicaciones : despliegue y escale infraestructura y
contenedores.
Implementación continua : puede automatizar las implementaciones.
Empezando
Puede ir al siguiente enlace para comenzar a usar Docker
Cloud: https://cloud.docker.com/
Una vez que haya iniciado sesión, se le proporcionará la siguiente interfaz
básica:
Luego puede hacer clic en el clúster de Nodo de inicio que estará presente en
la parte inferior de la pantalla. Una vez que se despliega el nodo, recibirá la
notificación en la pantalla Grupo de nodos.
Implementar un servicio
El siguiente paso después de implementar un nodo es implementar un
servicio. Para hacer esto, debemos realizar los siguientes pasos.
Paso 1 : ve a la sección Servicios en Docker Cloud. Haga clic en
el botón Crear
Daemon Logging
En el nivel de registro de daemon, hay cuatro niveles de registro disponibles:
Depurar : detalla toda la información posible manejada por el proceso del
demonio.
Información - Detalla todos los errores + Información manejada por el proceso del
demonio.
Errores : detalla todos los errores manejados por el proceso del demonio.
Fatal : solo detalla todos los errores fatales manejados por el proceso del
demonio.
Siga los siguientes pasos para aprender cómo habilitar el registro.
Paso 1 : Primero, debemos detener el proceso de Docker Daemon , si ya se
está ejecutando. Se puede hacer usando el siguiente comando:
sudo service docker stop
Una vez que inicie el proceso de Docker con el registro, también verá que
los registros de depuración se envían a la consola.
Ahora, si ejecuta cualquier comando de Docker, como imágenes de Docker ,
la información de depuración también se enviará a la consola.
Registro de contenedores
El registro también está disponible a nivel de contenedor. Entonces, en
nuestro ejemplo, hagamos girar primero un contenedor de Ubuntu. Podemos
hacerlo usando el siguiente comando.
sudo docker run –it ubuntu /bin/bash
Ahora, podemos usar el comando docker log para ver los registros del
contenedor.
Sintaxis
Docker logs containerID
Parámetros
containerID : este es el ID del contenedor para el que necesita ver los registros.
Ejemplo
En nuestro Docker Host, emita el siguiente comando. Antes de eso, puede
emitir algunos comandos mientras está en el contenedor.
sudo docker logs 6bfb1271fcdd
Salida
Docker - Componer
Docker Compose se usa para ejecutar múltiples contenedores como un solo
servicio. Por ejemplo, suponga que tiene una aplicación que requiere NGNIX y
MySQL, puede crear un archivo que inicie los dos contenedores como un
servicio sin la necesidad de iniciar cada uno por separado.
En este capítulo, veremos cómo comenzar con Docker Compose. Luego,
veremos cómo obtener un servicio simple con MySQL y NGNIX en
funcionamiento usando Docker Compose.
Parámetros
versión : se utiliza para especificar que queremos los detalles de la versión
de Docker Compose .
Salida
Se mostrarán los detalles de la versión de Docker Compose.
Ejemplo
El siguiente ejemplo muestra cómo obtener la versión docker-compose .
sudo ./docker-compose -version
Salida
Luego obtendrá el siguiente resultado:
Crear su primer archivo Docker-Compose
Ahora sigamos adelante y creemos nuestro primer archivo Docker
Compose. Todos los archivos de Docker Compose son archivos YAML. Puede
crear uno con el editor vim. Entonces ejecute el siguiente comando para crear
el archivo de redacción :
sudo vim docker-compose.yml