procesos .NET en containers windows

Pues si que se puede hacer.  De los dos caminos posibles planteados en el esbozo sobre microservicios .NET,  el primero parece que es posible. Rizando el rizo, he preparado un playbook de Ansible que levanta una maquina en vmware, y le instala el daemon de docker, para usarla como “host docker”.  En esa maquina he preparado el Dockerfile necesario para crear una imagen con el binario en cuestion y sus dependencias. Y funciona!.

Por ordenar ideas:

  • desde TFS se lanza una build, y se obtiene un binario (exe) y librerias (dll)
  • de alguna forma estos ficheros se guardan en un repositorio
  • desde TFS se lanza el build de la imagen nueva de docker, segun lo descrito en el Dockerfile. La maquina de build tiene que tener docker instalado. Podría ser algo semejante a CORETEST01 ?
    • docker build -t <nombre>:<version> .
    • docker save -o <nombre_version>.tar <nombre>
  • la nueva imagen de docker se guarda en un repositorio.
  • para lanzar una nueva instancia de esa imagen, suponiendo que tenemos otro windows docker host:
    • docker pull <nombre>:<version>
    • docker run <nombre>:<version>

despues vendrá la integración con kubernetes…

el caso es que una imagen de windowsservercore ocupa nada menos que 10Gb (!). …y probar a usar como base la imagen de windows server nano ??

lo bueno de nano es que la imagen base solo ocupa 1Gb. Lo malo es que sólo permite ejecutar .NET Core, con lo que nos plantamos, sin quererlo, en la opcion b) del planteamiento inicial…