I am completely new to Docker.
I never used Git Directly but I think I have used it from VS 2017 to get stuff, so it must be on my system.
I successfully installed Docker for Windows and (after rebooting) the whale icon appeared and I was presented with the UI.
I decided to go through the tutorial but it failed on the first command… I did copy the message from the window but, apparently, it doesn’t allow that because when I try to paste it here there is nothing on the clipboard.
I can’t tell you how disappointing it is when something you are new to fails. I now have to go to Git and find out all about installing it and setting it up when I really am not interested in it. I want to get on with my container experience.
Can I suggest that the initial tutorial checks to see if Git is installed and asks the user if he wants it installed, if it isn’t?
Which tutorial is ‘the tutorial’, is it this one? There is no need for Git at this place, you just copy the command
docker run..., open a console, for example PowerShell, and paste it there (right mouse click or Ctrl-v).
Sorry, I should have been more specific. I’m talking about when you install Docker for Windows. The first thing you see is a “Getting Started tutorial” (which in principle, is really good…) but, at least in my case, it simply failed on the first statement which was an execution of Git. As I have no knowledge of Git, it means I now have to go and learn all about it and install it before I can run the tutorial. It would be nice if the code had detected that Git was not available and either stopped or offered to get it.
I can see that the Tutorial you are referencing is much more straightforward.
The training for beginners that I used was from Udemy- www.udemy.com. Docker and Kubernetes classes were cheap and very good. I had to stop the video a few times and he uses an apple so it is a little different on screen, but he explains the commands well.
I found more hands on walkthroughs at different places and soon picked it up. Docker is clear and the commands are good. Also the error messages are very good.
Sadly, I can’t use it at the moment because I can’t run WinForms in it. I built a Windows container from the MS servercore image and it works as far as running the Windows CMD. I copied my C# WinForms app to it and tried to execute but it just hangs. (I have to use Ctrl/C to stop the process…) I have carefully checked that the app runs on the desktop… it is small with just 2 screens involved. I copied all of the executables (.exe and .dlls) to the container but it won’t pop up the first screen.
Had I known that Docker for Windows did not support Windows GUI I would not have spent a few weeks getting to grips with it. I found conflicting statements about this on the Internet, but I cannot get a CURRENT definitive statement from this forum.
I asked for clarification or even just a statement that it is not possible (if it isn’t…) but there has been no response.
I love Open Source, but this is one of the things that brings it down. You are relying on the generosity of people to get a response; in a corporate environment it is their job.
Thanks for your response and the link.
I’m sure the book is excellent and it is a generous offer.
However, I am primarily interested in moving some legacy desktop applications written in PowerCOBOL into .Net.
The PRIMA computing, (NZ) Ltd tool, PC2N will refactor these projects into Windows Forms, and separates out the screens and the code that drives them. (Each screen is driven by a single OO COBOL Class (generated by the tool from the legacy “scriptlets”) with all of the legacy event handling becoming methods in that class.) The new Forms are standard Windows screens written in C# (generated by the tool from the legacy PowerCOBOL “sheets”).
So, I did my initial Docker testing using a small application (2 screens) that had been created in this way and runs in .Net as a normal WinForms application.
The problem seems to be that the container (based on the MS servercore image) cannot display the C# screen (WinForm); the application starts up fine using the Docker EXEC command… but the small initial screen does not appear.
I can’t seem to get an answer as to whether this behavior is by design (Docker simply doesn’t support WinForms) or not.
With Web Development it isn’t a problem because the container is interacting with a Browser and that solves the problem, I think.
I have got to the stage now where I am quite comfortable with Docker for Windows (I have installed and am running WSL2 without problem) but my problem is primarily DESKTOP focused, rather than WEB.
Thanks for your offer, anyway.