We have our coldfusion application server running standalone in windows server. Now, we are planning to perform containerization. In this approach, we are trying to create windows image with coldfusion.
So, can you please confirm whether windows based docker image for coldfusion is available.
If available, do we need to get a seperate license for the same. Thanks.
Well, there are a couple of simple answers to your questions, but then some longer ones that may benefit you and other readers.
First, note that the Adobe CF images are indeed Linux-based, as are probably 95% of public images on the web. That doesn't mean you can't use them on Windows, however. Not only could one use VM technology, but different Windows OS versions offer support for Docker directly, including running Linux containers on them. And the coming update to the Windows Subsystem for Linux (WSL2) will bring still another option. I'll address the prospects for deploying Docker on Windows Server in a moment.
Second, as for your licensing question (of CF Docker images for production), note first that when it comes to using Docker for development or non-prod experimentation, you can use the Adobe CF Docker images for free, as covered by the Developer edition licensing. But as for prod licensing, see my post on that. Bottom line, if you have CF Enterprise, you could run up to 8 containers per that license. There is hope for change on that coming in CF2020. (Of course, folks will want to point out that Lucee is free, or that Ortus also offers Docker images, for Adobe CF and Lucee. Note that both are still Linux containers, and using the Ortus CF images would have the same licensing as the Adobe CF ones.)
So now let's talk about using Docker images on Windows. And since it may help you in getting started with your hope for containerization of CF, let's talk first about what you may do from a development perspective, on a Windows workstation. Note that Docker Desktop for Windows (for Windows 10 Pro) and Docker Toolbox (for Windows 10 Home and earlier) will allow you to run EITHER Linux OR Windows-based containers. And you would interact with them both the same way, from the Windows command line (or tools like portainer, etc.), and with respect to Swarm or Kubernetes (which are also both built into Docker Desktop for Windows). But these Docker editions are NOT available to run on Windows Server editions.
Gettting back to your question from a server/production perspective, again one option is to run a Linux VM (with Docker on that), but it IS also possible to implement Docker on Windows Server. To be clear the basic Docker install on Windows Server would ONLY run Windows containers, which won't help you. But Docker Enterprise (whose license is included in some Windows Server editions) WILL allow you to run Linux containers...with a couple of conditions. And actually, it's setting up a vm under the covers. For more on both approaches, see this article: https://computingforgeeks.com/how-to-run-docker-containers-on-windows-server-2019/
One last point on production Docker deployment, let me say that maybe than rather than try to go to running the containers on your own Windows Server, you may want to consider instead deploying CF containers to the cloud. Most cloud container services do of course presume to work with Linux images (and some may well support Windows images as well).
And someone may want to add that you can certainly build your OWN Docker images, by hand from scratch, and make THOSE be Windows containers. You may be referring to that in your question, when you say "we are trying to create windows image with coldfusion", but I don't think it's what you mean, as you go on to say, "can you please confirm whether windows based docker image for coldfusion is available." That's what I have been referring to here mostly, leveraging the pre-packaged CF images.
But one minor point I'm making is that that trying to work with Windows containers is going to inevitably be a constraint. Some things will work with them, some things won't. Or you will wish you can have both types talk to each other, and that too is hard to do within a single host (not impossible, just not supported out of the box). But again when you go to cloud deployment, with orchestration solutions like kubernetes (k8s), then such per-host limitaitons don't matter because k8s is handling the spreading of the load onto the servers that will run the containers you tell it to.
There is of course a LOT more that can be said on all this, and perhaps others will say something still more briefly than I have, to better clarify or correct a point. I just wanted to get something out there for you (and others who may find this) to consider.
Finally, as long as we're on the topic of Docker and CF images, I will note that I will be presenting a session on getting started with them at next week's free, online Adobe CF Dev Week.
Thanks Charlie for the detailed explanation.
we are baking our own windows docker image with coldfusion installed on it. We are planning to perform silent installation of coldfusion server during the docker image creation process. Once image gets created with coldfusion installed then we are planning to run ECS tasks/containers.
In this situation,
Sample codesnippets for coldfusion installation (from Dockerfile)
COPY //ColdFusion_2018_WWEJ_win64.exe// c:\\ColdFusion
COPY //silent.properties// c:\\ColdFusion
RUN ["ColdFusion_2018_WWEJ_win64.exe", "-f", "silent.properties"]
If there are any other better option, please share !!!
I'm afraid I can't "confirm" any of your licensing questions. Only Adobe could. But I will offer some more thoughts...
As for moving from Rackspace to Amazon, even that is not so obvious: was your CF license on Rackspace one that you/your org had bought? or one that was covered by being on Rackspace? And as you move to EC2, do you mean you'd be installing CF and bringing your own license key, or might you be using the available CF AMI (amazon machine image)?
As for building a CF image, well, you'd not be "running CF" during that process (but installing it), so I'd think there's no licensing question there. It's really about how you USE that resulting image, and whether that is in production.
Finally, as for the 8 containers, I was quoting the CF FAQ regarding a single CF Enterprise license.
So really, you should ask your questions of Adobe. I'm simply sharing thoughts and my interpretation of things, which is neither a commitment by me that it's suited to your sitaution nor is it legal representation. When it comes to licensing questions, you either have to go on what the vendor says or what you infer from the licensing agreement. (And to be clear, they don't tend to answer most questions here, so you may want to email firstname.lastname@example.org.)
But do let folks know how things go as you make your attempts. Others will surely be interested to hear.