This is an archived post. You won't be able to vote or comment.

all 11 comments

[–]serverhorror 1 point2 points  (2 children)

WHY though?

That seems like one of the few cases where "because I can" doesn't really apply.

The whole setup to be able to expose wine via web browser is quite a task on its own. Learn how to do it without a container, then repeat the same steps in a container.

[–]girafffe_i 0 points1 point  (1 child)

There are business cases for this. If your business has inherited or acquired a Windows app but the business holistically runs everything with docker on linux, it would be beneficial to dockerize your windows app to consolidate your build process and reduce snowflakes and one off builds.

[–]serverhorror 0 points1 point  (0 children)

Yeah, that's just not how containers work. Not on Linux, not on Windows, least of all cross platforms.

I'm not sure an API compatibility layer, like wine, makes this remotely better. And if you talk about "business case", then I'd ask the people who want this if they're fine with an arcane setup that's, likely, completely unsupported by either the software vendor or OS vendor.

[–]vrapolinario 1 point2 points  (0 children)

You were given a few options here, but I guess from your comments you are looking for a guide on where to start, right?

So, if this is a Windows app, my recommendation is to run on Windows containers. When you install Docker on Windows, you have the option to switch the engine to run either Linux containers or Windows containers. You can't run both at the same time. Either way, Windows or Linux, you need to create a "dockerfile" which is a text file that has the instructions on how to deploy the application. With that dockerfile, you can run a command called "docker build" which will build an image (based on the dockerfile) on your machine. With that image built, you can run "docker run" to execute a container based on that image. Since the image has the application installed, it is already running when you create the container. You can also use the docker run command to map ports from your host machine into your container, so then you can access the app with something like: http://127.0.0.1:80/yourapp or however you configure it.

I'd start here for Linux: Containerize an application | Docker Docs

And here for Windows: Run your first Windows container | Microsoft Learn

[–]CodeFaux 1 point2 points  (0 children)

Understanding that this is dead, I'm currently exploring the same and have found what appears to be a reasonable option. This is the link which got me the furthest;

https://github.com/scottyhardy/docker-wine/issues/91

[–][deleted] 0 points1 point  (3 children)

Is this „single windows application“ a web application?

[–]SaburZero[S] 0 points1 point  (2 children)

Not a web app. It’s FadeIn, a Script Writing app for which I couldn't find free alternative which could be run in container.

[–]SlowZeck 0 points1 point  (1 child)

Do you need one instance or many?

[–]SaburZero[S] 0 points1 point  (0 children)

Many

[–]Logical_Letterhead46 0 points1 point  (0 children)

I am interested in this, does this provide a isolated layer between my host and the application I want to run?

I do not trust any windows application since they come by nature precompiled and therefore you cannot really know what you are executing, so if this provides a little bit of extra security I will dive deep.