Linux container options on Windows

Hi All, The technical challenge I'm trying to solve is to provide an off-line version of an API that runs on a laptop. This API would be primed with the appropriate data set from the cloud, then would be used off-line during data entry. Data would only be added, not modified or deleted during that time. Once back on-line, the cloud would be updated with the new data. It looks like Docker has a technical solution that runs a Windows VM inside Windows, but what I'd love to have is a Linux VM running inside of Windows that would have a self-contained web server and database. I could probably implement this in a Windows container, but it would be so much easier to do in Linux. Thanks for your thoughts. -- Alex Beamish Software Developer / https://ca.linkedin.com/in/alex-beamish-5111ba3 Speaker Wrangler, Toronto Perlmongers / http://to.pm.org/ Baritone, Board Member, Toronto Northern Lights, 2013 Champions / www.northernlightschorus.com Certified Contest Administrator, Barbershop Harmony Society / www.barbershop.org

On Tue, Apr 3, 2018 at 1:52 PM, Alex Beamish via talk <talk@gtalug.org> wrote:
Hi All,
The technical challenge I'm trying to solve is to provide an off-line version of an API that runs on a laptop. This API would be primed with the appropriate data set from the cloud, then would be used off-line during data entry. Data would only be added, not modified or deleted during that time. Once back on-line, the cloud would be updated with the new data.
It looks like Docker has a technical solution that runs a Windows VM inside Windows, but what I'd love to have is a Linux VM running inside of Windows that would have a self-contained web server and database.
I could probably implement this in a Windows container, but it would be so much easier to do in Linux.
Hi Alex, We do exactly what you are describing on a project I'm working on. We deploy Debian Linux virtual machine images created using Packer that contains our web application software stack. Our customers deploy those images in Hyper-V, VMware ESXi 5.5, 6, or 6.5, or VirtualBox. On first boot, the sysadmin uses a Django web application we include in the VM to configure the VM. That Django application saves key/value pairs representing things like networking information, database connection credentials, and the version of our software they want to run. When the Django form is saved, Django also creates a YAML file. That YAML file is being monitored by inotifywait and when the change is detected, that kicks off Salt to configure the virtual machine. Salt is in a masterless minion configuration. We have PouchDB within the VM to store some data that must be present when the VM is first started. The PouchDB database within the VM synchronizes with a CouchDB database running on AWS. The CouchDB synchronization protocol Just Works. It is eventually consistent and for our use case, that is acceptable. Feel free to contact me off-list if you have any questions. Regards, Clifford Ilkay +1 647-778-8696
participants (2)
-
Alex Beamish
-
Clifford Ilkay