I have a desktop application written completely in C with GUI written in Gtk. Currently, it works fine on my Ubuntu desktop.
Now, I want to use the application independent of the OS. Therefore, Docker seems to help with it but as far as I know, it only provides web based UI.
How can I use Docker to deploy standalone desktop applications?
Is there any other container which does the job?
P.S.: The application is written in Gtk 2 hence I cannot use broadway.
I haven't done it myself anytime but just suggesting what might seem obvious.
You can try this though:
Run XVNC server inside the container
Expose the port at which XVNC runs
Connect to the XVNC server from the host machine
Trigger your gui application from within the XVNC console
Related
(The more I dig this, the more confusing it gets. I have found Windows images available to download, but none of them appears to be the standard desktop OS)
Is there a way to debug my .NET Framework or .NET Core/5/6 desktop application (WinForms, WPF, VSTO) in a Docker container running Windows 10? I'm just trying to setup a playground environment that I could put together quickly and test my code.
For my own notes and any future beginner, here is my current finding:
Docker is not a full-fledged virtual machine like what we get with VirtualBox, VMWare etc. It's more like a process in an isolated environment, called a Container. For example you could create a container that runs an instance of MySQL, or a container that runs an instance of NodeJS. Of course there are images containing Operating System too, such as Ubuntu, Alpine or even Windows, but those images do not contain the full desktop environment; they are just the base OS services.
So answering the question, no, this is not (currently?) possible at least for Windows. People have had success running Ubuntu desktop inside a Docker container, but that is an advanced topic and only works in Linux-based containers. I haven't seen anything like that for Windows.
I want to do demonstrate to the IT area at my work how one might use a container for isolated development. I have installed WSL2, then I have a development container running with some basic developer tools--OpenJDK, etc. I can SSH into the container from a WSL2 terminal simply by running ssh user#172.17.0.2, for example, but I cannot figure out how to SSH into this from Windows. More importantly, I want to be able to SSH into the running container from Visual Studio Code via Windows, but things just seem to time out. Does anybody know how to get this going? I have a very locked-down IT environment and I want to do this without having to install Docker for Windows (which I doubt my IT department will ever approve).
I am using cygwin under windows server 2008 to have linux capability (to some degree) and ssh and be able to run apps without using a gui.
On another server that is ubuntu 18.04 I use containers to some how isolate my apps so that when I run an app and it spawns child processes and probabley modifies file descriptors etc (and so now I can not keep track of which processes are running now) I can stop my app and all the mess that it has done, with just stopping the container.
Containers made starting and stopping an app a clean and simple way.
Is there any way to have such thing on windows (without using docker on windows)? by saying this I mean the file and process isolation and not network or other stuff.
Is it possible to only isolate processes so that i can get rid of them with a single command?
Is there any tool for that? particularly for cygwin under windows?
I don't know about other languages but if you're using Python, it has a feature called Virtual Environment and developer can create and run applications in isolated environments. you can learn more about it here.
I myself come to the conclusion that using services and creating a service in windows would be the only way to manage an app without using a container.
We have a large application with several parts running on a Windows VM and I am trying to evaluate Docker containers for our application deployment. Is it possible to create a base docker image from an existing Windows VM already running my application? (I know this can be done using Dockerfile but I am looking for a quick way to create the image)
https://docs.docker.com/engine/userguide/eng-image/baseimages/
Above link describes creating image from working machine for Linux, but I am looking for something similar for Windows.
The only base image for Windows that I know are the ones proposed by Microsoft, for Windows Server 2016 or 1709.
See "PoC: How to build images for 1709 without 1709"
That means you can translate any Widows VM into an image.
You would need:
a Dockerfile
the right Microsoft base image, which would represent a Windows server one.
Typically:
microsoft/nanoserver,
microsoft/windowsservercore
If you application only runs on a Windows VM, you need to make sure it can be installed and run on one of those base Windows images.
EVen though you are using a VM Windows server 2016, you would not be able to quickly "capture its state": you need a Dockerfile to describe what you want your Widows container to run.
No it's not possible. You have some stuff like Vm2Docker etc but all it does the same thing you will do manually that is enumerate features installed and create some artifacts for you.
But it's not possible to do for third party application as you mentioned. You'd have to disassemble it and figure out how to scripts to install it.
I am looking for a way to have a Development environment of Production web server for our Developers/testers created using Docker on windows.
I have windows server 2016 OS installed on a Physical server (not VM), and want to dockerize it so that Dev team can make changes on it first and once they confirm all working fine then same changes will be done on production web server.
Thanks,
RK.
So I'm playing around with this containers concept and specificlly windows containers.
I managed to run containers using the windows nanoserver image, however this image meant to services and does not support gui applications (or 32 bit apps).
Couldn't find any mentioning of running gui applications (and see there gui) using windows container (found only linux container gui).
is there a way to run GUI apps in containers? and so how do I can create my own image containing this support?
As per my knowledge, its impossible because docker does not allow rdp inside container
The nano server is not supporting GUI. That's why I cannot see how this should work if your base image for your container is a nano server
No, it is not possible on Windows regardless of image. It is a system limitation. As a last hope to get this somehow running I would try to install a VNC server inside a container and would try to connect to it from outside. This approach works for Linux-based containers. But I'm doubting that it will work on Windows.