jueves, 30 de mayo de 2019

Instalación de docker toolbox y uso de dockers


Bienvenidos a mi blog , hoy aprenderemos a instalar docker toolbox y posteriormente hacer uso de los contenedores y bajar de ellos la capa que utilices , eso lo veremos mas adelante, sirve  para usar una máquina virtual utilizando comandos  en una shell linux instalada en windows (docker quickstart terminal).

Antes que nada ACLARAR que este tutorial de instalación de docker toolbox es para máquinas 'antiguas' (windows 7,  o cualquier otra que no tenga HYPER-V) , para aquellas que si lo tengan se debe usar el docker desktop.

¿Que es un docker?
Primeramente decir que un docker es una tecnología de aislamiento de recursos en el kernel linux que permite el uso y creación de contenedores linux , con esta tecnología las máquinas virtuales son livianas debido a que evita la sobrecarga de los procesos que se presentan al iniciar un sistema operativo.
Además, hacer uso de los docker permite modificarlos, copiarlos e implementar uno nuevo a partir de uno ya hecho. Esto es posible debido a que cada archivo de imagen se compone de capas y cuando alguien realiza una operación como instalar nuevo software en la máquina virtual se crea una nueva capa y asi se construyen nuevos contenedores.

Instalación de docker toolbox

Requisitos:

  • Docker toolbox es para aquellas máquinas que no tengan los requerimientos mínimos para usar el docker desktop terminal
  • No tener HYPER-V, funciona pero es mejor aprovechar las capacidades del HYPER-V con otra aplicación.
  • Tener windows 7 en adelante.
  • Sistema operativo de 64 bits 
  • Sistema operativo con soporte de virtualización.
  • Vnc viewer (opcional), sirve para visualizar gráficamente el docker.
Pasos para instalar Docker Toolbox

1. Verificar los requerimientos: Ir a sistema

2. Activar la virtualización desde la bios si no se tiene activada.

3. Actualizar windows dado que las actualizaciones pueden 'barrer' la instalación del docker toolbox

.
Resultado de imagen para bios virtualizacion

NOTA: El diseño de la Bios varía de sistema operativo pero básicamente esto es lo que se hace.

4. Instalar dockertoolbox.exe desde este link para ver las ultimas versiones que se han sacado: https://github.com/docker/toolbox/releases .

5. Ejecutar como administrador y permitir que haga cambios en el equipo

6. En el instalador dar click en siguiente a todos los defaults y finalizar.


Success

7. Verificar la instalación: DockerToolbox instalará kitematic, virtual box y docker quickstart terminal. Para ver si todo está de perlas iniciar como administrador docker quickstart terminal...

Razones por las que falla la terminal: 

En varios foros he indagado sobre esto y he llegado a las siguientes soluciones:

  • Docker quickstart terminal no se inició como administrador.
  • Virtualización no está activada en la bios
  • La versión que se usa de docker toolbox no funciona en su máquina, descargar otra versión del programa, en lo personal me sirvió la versión 18.03.0-ce para varías máquinas, inténtalo.
  • Windows necesita un parche.
Probar las soluciones por orden.

Así aparecerá la terminal una vez cargada completamente.

Resultado de imagen para quickstart terminal


8. Escribir en la terminal docker run hello-world y ejecutarlo. Aparecerá algo así.


$ docker run hello-world
Unable to find image 'hello-world:latest' locally
Pulling repository hello-world
a8219747be10: Download complete
91c95931e552: Download complete
Hello from Docker.
Status: Downloaded newer image for hello-world:latest
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker Engine CLI client contacted the Docker Engine daemon.
2. The Docker Engine daemon pulled the "hello-world" image from the Docker Hub.
(Assuming it was not already locally available.)
3. The Docker Engine daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
To try something more ambitious, you can run an Ubuntu container with:
4. The Docker Engine daemon streamed that output to the Docker Engine CLI client, which sent it to your terminal. $ docker run -it ubuntu bash
https://docs.docker.com/userguide/
For more examples and ideas, visit:

Docker te dará la bienvenida y significará que se ha instalado exitosamente.


Haciendo uso de los dockers

Una vez instalado correctamente docker toolbox haremos uso de los dockers.

  1. Buscar DockerHub en un navegador, DockerHub es una página web donde se alamcenan los dockers, elige la que más te convenga, hay debian con python , ubuntu con Fortran , Debian con Fortran/C/Python, en fin miles de dockers con diferentes paquetes para poder trabajar.
  2. Una vez elegido el docker jalar la imagen, para esto escribir este comando en docker quickstart terminal, por ejemplo: $ docker pull rsolano/debian-vnc-python
  • Lo que hace es descargar la imagen del repositorio DockerHub a tu repositorio local de imagenes.
  1. Esto es un ejemplo del comando que se debe poner para correr la capa. Se descargará la capa del docker y una vez finalizado se procederá a visualizar en vnc viewer.

$ docker run [-it] [--rm] [--detach] [-h HOSTNAME] [-p LVNCPORT:5900] [-p LSSHPORT:22] [-p LNOTEBOOKPORT:8888] [-v LDIR:DIR] [-e XRES=1280x800x24] rsolano/debian-vnc-python

  1. -it : Sesión interactiva ( mantener la terminal activa)
  2. --rm : Remover el contenedor una vez finalizado
  3. --detach : separar del fondo y seguir corriendo en la memoria
  4. -h : Nombre del host
  5. LVNCport: Local Host VNC, por ejemplo 5900 mapearlo al 5900
  6. LSSHPORT: Puerto local SSH para conectar ejemplo 2222
  7. XRES: Resolucion de pantalla
  8. LNOTEBOOKPORT: Local HTTP jupyter notebook para conectar ejemplo 8888 requiere una ip de 0.0.0.0 cuando esta corriendo jupyter en tu contenedor
  9. LDIR:DIR: Directorio local para montar en  contenedor LDIR es el directorio local a exportar y DIR es el objetivo en el container debería ser especificado con -v .
Haciendo uso de los containers


  • $ docker run -it --rm -p 5900:5900  -p 2222:22 rsolano/debian-vnc-python

Iniciar el docker, con sesión interactiva , remover el container una vez finalizada la sesión,  en vnc el puerto 5900 mapearlo al 5900, en ssh el puerto 22 mapearlo al 2222, poner el nombre del container que si no está en el disco se descargará.

  • $docker run -it --rm -p 5900:5900 -p 2222:22 -p -v /c/Users/Juanito/Documents/Trabajos:/home/debian/Trabajos  rsolano/debian-vnc-python
Iniciar el docker, con sesión interactiva , remover el container una vez finalizada la sesión, en vnc el puerto 5900 mapearlo al 5900, en ssh el puerto 22 mapearlo al 2222, montar un volumen -v /c/Users/Juanito/Documents/Trabajos al container :/home/debian/Trabajos por poner un ejemplo, poner el nombre del container se descargará si no se encuentra en el disco.

  • $docker run -it  --rm -p 5900:5900 -p 2222:22 -v /c/Users/Juanito/Documents/Trabajos:/home/debian/Trabajos rsolano/debian-vnc-python -e XRES:1200x700x24 rsolano/debian-vnc-python
Iniciar el docker, con sesión interactiva , remover el container una vez finalizada la sesión, en vnc el puerto 5900 mapearlo al 5900, en ssh el puerto 22 mapearlo al 2222, montar un volumen -v /c/Users/Juanito/Documents/Trabajos al container :/home/debian/Trabajos por poner un ejemplo, definir la resolución óptima de pantalla para el container ,poner el nombre del container se descargará si no se encuentra en el disco.


NOTA IMPORTANTE:  El directorio montado es a decisión del usuario y depende donde lo quiera , el nombre del docker es el puesto en este caso pero en DockerHub lugar donde se guardan miles de dockers puedes elegir sistema operativo linux que mas le convenga.



Usar Vnc Viewer para visualizar el docker:


  • Abrir VNC VIEWER
  • Dar click en archivo y luego en nueva conexión.
  • En VNC SERVER poner la dirección ip de la máquina local, aparece en el shell de docker quickstart terminal.
  • En nombre de identificador amigo poner el que le convenga. Dar click en aceptar.
  • Click derecho y conectarse , se visualizará el docker.


Parar el contenedor

Para sesión interactiva:

solo presionar CTRL-C en la terminal interactiva.


Para sesión no interactiva:

solo presiona CTRL-C en la terminal no interactiva}


Buscar el contenedor para detenerlo:

Puede que tengas distintos contenedores corriendo asi que se busca el que se quiere detener

$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ac46f0cf41d1 rsolano/debian-vnc-python "/usr/bin/supervisor…" 58 seconds ago Up 57 seconds 0.0.0.0:5900->5900/tcp, 0.0.0.0:2222->22/tcp wizardly_bohr


PONER:

$ docker stop  ac46f0cf41d1






















No hay comentarios:

Publicar un comentario