miércoles, 25 de septiembre de 2019

Docker en Windows parte 1: Tips antes de lanzarse (Septiembre 2019)

Hola a todos. Me he puesto de cabeza a estudiar Docker. Ahora, como he usado Windows toda la vida, estoy estudiando Docker sobre Windows. Bueno, me he pillado con un montón de cosas nuevas, algunas medias "cabronas" y he preparado está guía de 3 o 4 partes con todo lo que encuentro esencial sobre todo si eres desarrollador.

Espero te guste.

Ir a Parte 2: https://naldog.blogspot.com/2019/09/docker-en-windows-parte-2-instalacion.html
______________________________

Antes de jugar con Docker sobre Windows por favor lee esto ya que te ahorrarás muchos quebraderos de cabeza, he gastado fácil días a prueba y error hasta entender. Microsoft y sus cosas que en vez de hacerlas fáciles, las complica.
1. 
Docker Toolbox es una solución legada, vieja, utiliza la virtualización externa mediante VirtualBox.
Lo de legado lo indica la página oficial:
https://docs.docker.com/toolbox/toolbox_install_windows/
Así que solo instalar en caso que tengas Windows Home o 8.1. Si estás con Windows 10 Profesional o Enterprise no lo recomiendo usar ya que estarías con algo ya legado. Docker Toolbox pesaba cerca de 240 megas la última vez que lo bajé.

En cambio Docker for Windows (Docker Desktop) usa la virtualización nativa del sistema operativo (Hyper-V) con esto se evita usar la virtualización VirtualBox. Es la solución actualmente recomendada por el sitio de docker.
Link de descarga https://docs.docker.com/docker-for-windows/install/
Docker Desktop for Windows es la versión de la comunidad de Docker for Microsoft Windows. Es decir, no tienes soporte oficial. Actualmente está pesando cerca de 920 megas.

2. 
Kitematic es la herramienta para ver las imágenes o Pods visualmente (y no por línea de comandos, algo como Red Hat OpenShift pero "mula" ya que estando en Octubre del 2019 aún es un alpha en Windows señores!) y es una herramienta otra vez legada que se instalaba con Docker Toolbox. https://docs.docker.com/kitematic/
Ahora con Docker Desktop for Windows ni si quiera aparece en el Wizard de instalación. Si te deja bajarlo luego e instalado como ZIP. Lo descomprimes y usas. En muchos tutoriales o cursos lo usan aunque se sea alpha.

3.
Si estás con Windows 10 Profesional o Enterprise:
Si quieres usar una máquina Virtual sobre Windows como VirtualBox o ya la estas usando (para tus cosas aparte, pitutos, etc) NO PODRÁS ya que al instalar Docker for Windows (Docker Desktop) deja de funcionar correctamente VirtualBox (no se si otros virtualizadores pero deberían fallar igual).

Esto por que Docker for Windows (Docker Desktop) usa Hyper-V del Sistema Operativo que no interactúa con el Hyper-V del VirtualBox.

Por lo tanto, el instalador de Docker for Windows (Docker Desktop), te preguntará si quieres activar Hyper-V, le pondrás que si, se reiniciará y ya no puedes usar ninguna maquina Virtual de Virtual Box, la daña. En mi caso no abre ninguna ISO de 64 Bit. Quise instalar para otro asunto Fedora de 64 Bit y da error, solo muestra opciones de 32 Bit.

4.
Una vez in instales Docker for Windows (Docker Desktop) se te creará en escritorio este acceso directo: "Docker Desktop".
Al ejecutarlo se iniciará el icono de la ballena cerca del reloj de Windows. Dirá Docker is Starting...
Luego de un momento aparecerá en pantalla Service is not running. Presiona Start.
Finalmente puedes ya jugar con Docker ejecutando Windows PowerShell como Administrador. Ver el tutorial que hice con el paso a paso de este punto.

5. 
Sea si estás en cualquier Windows 8.1 o Windows 10 o Server 2016 o 2019, y quieras instalar Docker Toolbox o Docker for Windows (Docker Desktop) en la BIOS debe estar activo la característica de Virtualización.

6.
Originalmente un Notebook con Windows 10 Pro o Ent, esta opción es muy probable que por defecto NO está activa (no tienen el check):

Panel de Control -> Programas y características, Activar o Desactivar Características de Windows:
  -Hyper-V

Si está activa casi siempre en la BIOS la característica de Virtualización.

Al finalizar la instalación de Docker for Windows (Docker Desktop) es muy probable que te avise que no está activo Hyper-V. Debes ir a tu Panel de control y debes ACTIVAR este ítem:

Panel de Control -> Programas y características, Activar o Desactivar Características de Windows:
  -Hyper-V

7.
Recomiendo que establezcas un punto de restauración en Windows antes de instalar Docker, ya que en mi caso, hace poco instalé Docker for Windows (Docker Desktop) en un Windows 10 Pro, reinició y al iniciar Windows un error grave, pantalla celeste, no pudo reparar y luego de varios intentos de reparación resucitó. El mismo sistema volvió a un punto de restauración viejo (de unos días atrás).

Errores comunes

Al correr Docker Quickstart Terminal o Kitematic ya que instalaste Docker Toolbox, dice

Running pre-create checks...
Error wirh pre-create check: "Hyper-V is installed. VirtualBox won't boot a 64bits VM when Hyper-V is activated. It it's installed but deactivated, you can use --virtualbox-no-vtx-check to try anyways"
Look like something went wrong in step 'Checking if machine default exists'...

Press any key to continue...

Docker Toolbox detectó que tienes Hyper-V activado en Panel de Control. Si vas a usar Docker Toolbox debes desactivarlo ya que con el Hyper-V que trae el Virtual Box es suficiente.
Insisto, recomiendo no usar Docker Toolbox ya que es considerado como legado.

_____________________________-
Eso por hoy gente, en la siguiente parte explicaré los pasos de la instalación para "noobs".

Ir a Parte 2: https://naldog.blogspot.com/2019/09/docker-en-windows-parte-2-instalacion.html