A complete noobie to Docker and the whole concept of containers here.
I’m on a quest to learn more, but wanted to pose some questions first to see whether Docker is suitable for my needs.
I want to create a trial version of my product (a webapp) so that prospects can come along to the website and click “live demo” and then be taken to their own instance of the trial, so as not to interfere with anyone else’s environment.
My team have suggested launching VM instances from an image in AWS, but while this would work, it seems like overkill to me. Would Docker fit this purpose better?
Can I create instances (albeit application rather than hardware) instances of our image?
And will they all have their own unique URL?
I wonder if anyone else has used Docker for the purposes of a product demo/trial?
Thanks and I apologise for the noobie questions! I am spending the whole day installing and learning about Docker, so I may answer my questions over the course of the next few hours, but I couldn’t find any specific examples of anyone using Docker for my exact use case.
this is a perfect use of docker… but you didn’t say HOW the customer would use your product in this environment.
a typical use is to tell them to install docker and then run your container on THEIR system. Your container is closed, so the config is up to you and how long it might run and what features is up to you…
this is the same as sending them instructions for an installer which you customized to only support demo mode.
Thanks sdetweil. From a user-experience POV, the customer would not even know about Docker, nor would ever need to know. The workflow would be like so:
A prospect rocks up to the website
They like the product, and want to try it, so sign up for a live demo. The live demo would be accessible via a URL.
This is where Docker comes in. I’d want to spin up a container from the image, specifically for this prospect.
Once the container has been created - they navigate to their unique URL and play with the product.
I’d then want to control how long each container lives for (as part of the live demo/free trial process) and I’d want to consider adding analytics to track user behaviour.
i think a docker container would be an ok solution to the problem…
you would need something like nginx or apache to dynamically add path to ip address mapping
so that host/customer_a went to one container and host/customer_b to another…
but you need that solution approach regardless of docker…
i think the gain of docker over virtual machines is startup time and ease of maintenance.