Ejecuto vmware workstation para mis necesidades de desarrollo y tengo que mantener diferentes máquinas virtuales para diferentes entornos.
Docker parece permitir la ejecución de entornos diff en contenedores, por lo tanto
Dentro de mi Windows 10 x64 VM ¿puedo ejecutar Docker y utilizar diferentes imágenes y contenedores para desarrollar, construir y probar mi código? (Recuerde que estoy ejecutando mi entorno de desarrollo en VMware Workstation mientras docker utiliza VirtualBox)
¿Cómo envío/llevo mi aplicación (código+base de datos+web api+ .....) a producción? ¿La máquina de producción necesita ejecutar docker también?
Por favor, ayuda a aclarar.
Actualización
Con VMWare me refiero a VMWare workstation pro.
Sí, es totalmente posible ejecutar Docker en una VM. Docker es una solución de virtualización ligera, no virtualiza hardware, por lo que no se verá afectado por los problemas típicos de las máquinas virtuales anidadas.
Sin embargo, la vinculación de puertos puede ser un poco complicada, porque tendrás que conectar de alguna manera tu VM dev-env en VMware con la VM Docker en VirtualBox.
También puede tener problemas si desea exponer las carpetas del host a un servicio en un contenedor Docker. Windows' los sistemas de archivos son limitados en comparación con los de Linux en términos de granularidad de permisos y algunos servicios don't gusta eso. (este problema no es específico de Docker)
En general, su aplicación no está bloqueada por Docker en producción. Los servicios Dockerizados se comunican con el mundo a través de la red, no es diferente de lo que los servicios regulares suelen hacer. Sin embargo, una aplicación diseñada con Docker (o, más en general, con la nube) en mente puede ser más resistente a fallos y más fácil de mantener.
Este blog habla exactamente de cómo usar Docker en Windows con VMWare Workstation. Incluso puedes usar Windows 7.
https://stefanscherer.github.io/yes-you-can-docker-on-windows-7/
Primero instala el gestor de paquetes Chocolatey para windows (es un comando de una línea)
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
luego instalar Docker para usar VMWare workstation
choco install -y docker
choco install -y docker-machine
choco install -y docker-machine-vmwareworkstation
Crear una vm por defecto
docker-machine --native-ssh create -d vmwareworkstation default
Establezca sus variables de entorno
docker-machine env | iex
Ahora ya está todo listo para empezar.
docker save
para guardar tus imágenes docker en archivos.