Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción 3
Docker 3
Cuestionario 10
Taller 11
Descargando imagen de Docker de Ubuntu 11
Instalando programas en la imagen de Docker de Ubuntu 11
Bash Scripting en imagen de Docker de Ubuntu con Tmux 11
Bash Scripting Avanzado 12
Introducción
Esta guía sirve para instalar Docker Desktop para Windows con el objetivo de entender los
concepto básico de contenerización y armar un contenedor Linux totalmente portable para
realizar las prácticas de Bash Scripting con el File System propio de Unix sin importar el
Sistema Operativo base.
Docker
Para instalar la última versión de Docker Desktop stable en Windows 10 es necesario tener la
última actualización estable del Sistema Operativo la cual al día de la fecha (Agosto 2020) es la
versión 15063+ para Windows 10 Pro/Enterprise y la versión 19018+ para Windows 10 Home.
Una vez que tenga la versión de Windows necesaria para instalar Docker Desktop stable inicie
el programa de instalación descargado.
Opcional:
Al terminar la instalación le pedirá reiniciar el sistema antes de hacer ésto instale el kernel de
Linux en WSL 2 siguiendo la siguiente guía:
https://docs.microsoft.com/es-es/windows/wsl/wsl2-kernel
Reinicie el sistema y verá que al iniciar se ejecutará Docker y quedará el ícono de configuración
en la barra de programas en segundo plano de abajo a la derecha. Si el ícono de docker está
en color rojo tuvo un problema en la instalación y deberá solucionarlo con la opción
Troubleshoot y la opción Run Diagnostics. Espere que termine el programa de diagnóstico y
siga los pasos que le indica en caso de problemas.
Haga clic en el icono de docker de la barra de tareas en segundo plano y haga clic en restart
para reiniciar todos los contenedor y el demonio de Docker, si aparece un cartel de advertencia
haga clic en reiniciar o aceptar, espere que Docker se reinicie.
Luego de reiniciar Docker si el ícono de la barra de tareas en segundo plano está en blanco
entonces Docker está corriendo exitosamente.
Una vez que Docker está funcionando correctamente haga clic en el icono y haga clic en Check
For Updates para asegurarnos tener Docker actualizado antes de comenzar a utilizarlo.
Una vez actualizado Docker haga clic en el icono y haga clic en Dashboard. Al hacer clic en
Dashboard le debería aparecer una ventana con un comando en el centro que deberá copiar y
pegar en una terminal de Windows (símbolo del sistema). La imagen debería ser similar a la
siguiente:
El comando que nos pide ejecutar Docker en una terminal de Windows es:
Este comando sirve para correr nuestro primer contenedor docker, en este caso es solo un
contenedor de ejemplo llamado getting-started. Al correrlo en una terminal Linux empezará a
descargar los archivos necesarios para correr el contenedor localmente y nos pedirá permisos
de administrador. Al darle los permisos docker run debería terminar y mostrar en nuestra
consola Windows algo similar a lo siguiente:
Una vez terminada la ejecución del comando docker run vamos otra vez al ícono de docker y
vamos a dashboard, éste ves como tenemos al menos un contenedor Docker corriendo en
nuestro sistema nos debería mostrar el estado y nombre del mismo como muestra la siguiente
imagen:
Al hacer clic en el ícono de abrir consola CLI nos abrirá una nueva ventana con el prompt de
una consola Linux donde podremos ejecutar comandos como ls, pwd y uname -a para verificar
qué sistema Linux estamos corriendo y donde estamos parados en el File System del
contendor Linux.
Dentro del contenedor puede hacer un ping 8.8.8.8 para verificar su conexión a internet y de
esta forma instalar cualquier programa que desee de Linux en el contenedor como por ejemplo
Tmux.
Si presta atención en la pestaña inspect en las características del contenedor que está
corriendo podrá notar al final que en la sección Port dice algo como 80/tcp localhost:80. Ésto
quiere decir que nuestro contenedor está escuchando en el puerto 80 de nuestro sistema nativo
y redirigiendo el tráfico al puerto ochenta del contenedor de Docker. Por esta razón es posible
ver los archivos del contenedor en nuestro navegador accediendo a localhost:80 (o haciendo
clic en el botón de see in browser del administrador de contenedores como se especificó
anteriormente).
Luego de instalar Docker es necesario habilitarlo y arrancar el demonio con los comandos:
Para correr una imagen de Ubuntu en Docker con la terminal Linux simplemente hay que
ejecutar el comando:
El comando anterior iniciará una imagen del contenedor de Ubuntu pero no nos otorgará
acceso al mismo. Para acceder con una CLI de Bash al contenedor creado primero debemos
saber el id de la imagen con el comando:
docker ps
Al ejecutar el comando docker ps nos listará las imágenes de contenedores activas y nos
mostrará su container id, lo copiamos y accedemos al contenedor con bash escribiendo el
comando:
Docker
Con los siguientes comandos podrá gestionar sus contenedores desde una terminal Linux o
Windows:
docker images -> muestra las imagenes locales (ya descargadas) de Docker para iniciar
contenedores.
docker ps -> muestra los contenedores corriendo
docker start [container] -> corre uno o varios contenedores detenidos
docker stop [container] -> detiene la ejecución de un contenedor
docker rm [container] -> borra un contenedor
Cuestionario
1. ¿Qué son los contenedores, cómo funcionan y para qué sirven?
2. ¿Qué es Docker y para qué sirve? Investigue los comandos más utilizados y explique
para qué sirven.
3. Investigue que es DockerHub y para qué sirve. De al menos tres ejemplos de imágenes
muy utilizados de DockerHub y para qué sirven.
4. ¿Existen otros gestores de contenedores que no sean Docker? Justifique con ejemplos.
5. ¿El concepto de contenerización inició con Docker? Justifique.
6. ¿Qué diferencia hay entre una máquina virtual y un contenedor?
7. ¿Qué relación hay entre el Kernel (núcleo) del Sistema Operativo base y los
contenedores? ¿Se pueden ejecutar en una misma máquina varias máquinas virtuales
con distintos kernels? ¿Se pueden ejecutar en una misma máquina varios contenedores
virtuales con distintos kernels?
8. ¿Es posible hostear un sistema web o un motor de base de datos en un mismo
contenedor? ¿Puedo hostear un sistema web en un contenedor y conectarlo a un motor
de base de datos que esté corriendo en otro contenedor distinto? ¿Se puede acceder a
un sistema web corriendo en un contenedor desde afuera del mismo?
9. Investigue que es la portabilidad y qué relación tiene con los contenedores.
10. Investigue por qué la tecnología de contenedores es tan utilizada e importante en la
actualidad.
Taller
Con el objetivo de correr un contenedor con Ubuntu completo y estable en Docker debemos
descargar dicha imagen y luego correrla como contenedor. Para realizar ésto debemos tener
conexión a internet y ejecutar el siguiente comando en una terminal (Windows o Linux):
Una vez dentro de la terminal debemos cambiar a Bash escribiendo bash y tocando enter.
Podremos verificar que estamos utilizando Bash ya que nos mostrará el nombre del usuario
(root) y el número identificador del contenedor en el prompt.
Para comenzar a instalar programas de Linux en el contenedor con Bash primero debemos
ejecutar apt update y luego apt upgrade -y. Una vez finalizados los comandos de actualización
instalaremos las utilidades de red básicas como ping con el comando apt install iputils-ping y
luego instalaremos tmux con el comando apt install tmux y nano o vim con el comando apt
install nano o apt install vim.
Una vez instalados todos los programas básicos necesarios haremos un test de escritura y
ejecución de un script en Bash en el contenedor. Primero conviene dirigirnos a la carpeta home
del contenedor con cd y dentro de la misma crear una carpeta so y entrar. Una vez dentro de
/home/so ejecutamos tmux y partimos la consola en dos presionando las teclas control + b
soltando las teclas y presionando rápidamente las teclas shift + 2 (es decir el símbolo comillas
dobles “). Al partir la consola con tmux en la mitad superior creamos un archivo llamado test.sh
con el editor de texto que hayamos instalado (nano o vim) y escribimos un script que imprima
en pantalla una frase cualquiera. Una vez escrito el script guardamos el mismo y nos dirigimos
a la mitad de abajo de la consola partida con tmux presionando control + b soltando y
rápidamente presionando la flecha hacia abajo del teclado. Una vez posicionados en la mitad
de abajo de la consola le damos permisos de ejecución al archivo que acabamos de crear y lo
ejecutamos con bash. La imagen siguiente muestra cómo debería quedarnos la terminal de
nuestro contenedor si realizamos todos los pasos correctamente: