Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Docker for Windows

Docker for Windows

Scheduled Pinned Locked Moved The Lounge
csharpasp-netdotnetwinformssysadmin
26 Posts 15 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R RickZeeland

    My boss has heard enthousiastic stories about Docker and now wants to use it for distributing Windows applications (both .NET and .NET Core). I never could get enthousiastic about Docker as it can not run Winforms applications, but I decided to give it a chance. Made a simple .NET Core console "Hello World" test application and in VS2017 used Add - Docker, built it and to my surprise everything built on the first try. Nevertheless when I saw the size of the image with Windows Nano server, more than 400 Mb, my enthousiasm was gone again. Am I the only one who can not get enthousiastic about Docker, is it me? I would like to know what your opinion is on the matter :confused:

    M Offline
    M Offline
    Marc Clifton
    wrote on last edited by
    #2

    My opinion on Docker for Windows[^]

    RickZeeland wrote:

    Am I the only one who can not get enthousiastic about Docker, is it me?

    I haven't seen any advantage, though we (at the company) might be looking at Docker with AWS to spool up additional servers as load increases. The problem with that is we're heavily embedded in ASP.NET and given the above, running Windows in Docker is probably a horrid idea.

    Latest Article - Slack-Chatting with you rPi Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

    R 1 Reply Last reply
    0
    • M Marc Clifton

      My opinion on Docker for Windows[^]

      RickZeeland wrote:

      Am I the only one who can not get enthousiastic about Docker, is it me?

      I haven't seen any advantage, though we (at the company) might be looking at Docker with AWS to spool up additional servers as load increases. The problem with that is we're heavily embedded in ASP.NET and given the above, running Windows in Docker is probably a horrid idea.

      Latest Article - Slack-Chatting with you rPi Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802

      R Offline
      R Offline
      RickZeeland
      wrote on last edited by
      #3

      I enjoyed reading your article! clearly you had less luck than me setting up Docker :-\

      1 Reply Last reply
      0
      • R RickZeeland

        My boss has heard enthousiastic stories about Docker and now wants to use it for distributing Windows applications (both .NET and .NET Core). I never could get enthousiastic about Docker as it can not run Winforms applications, but I decided to give it a chance. Made a simple .NET Core console "Hello World" test application and in VS2017 used Add - Docker, built it and to my surprise everything built on the first try. Nevertheless when I saw the size of the image with Windows Nano server, more than 400 Mb, my enthousiasm was gone again. Am I the only one who can not get enthousiastic about Docker, is it me? I would like to know what your opinion is on the matter :confused:

        realJSOPR Offline
        realJSOPR Offline
        realJSOP
        wrote on last edited by
        #4

        Back in the day, we could write an executable that consumed less than 500 bytes that could take down a major city's power grid. Ahh, those were good times indeed.

        ".45 ACP - because shooting twice is just silly" - JSOP, 2010
        -----
        You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
        -----
        When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

        R R Sander RosselS K M 5 Replies Last reply
        0
        • realJSOPR realJSOP

          Back in the day, we could write an executable that consumed less than 500 bytes that could take down a major city's power grid. Ahh, those were good times indeed.

          ".45 ACP - because shooting twice is just silly" - JSOP, 2010
          -----
          You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
          -----
          When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

          R Offline
          R Offline
          RickZeeland
          wrote on last edited by
          #5

          OMG, hope Griff isn't reading all this, then we will get a load of his nostalgic stories :~

          1 Reply Last reply
          0
          • realJSOPR realJSOP

            Back in the day, we could write an executable that consumed less than 500 bytes that could take down a major city's power grid. Ahh, those were good times indeed.

            ".45 ACP - because shooting twice is just silly" - JSOP, 2010
            -----
            You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
            -----
            When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

            R Offline
            R Offline
            Ron Nicholson
            wrote on last edited by
            #6

            > Back in the day, we could write an executable that consumed less than 500 bytes that could take down a major city's power grid. Those that still can are dwindling. :(

            Jack of all trades, master of none, though often times better than master of one.

            1 Reply Last reply
            0
            • realJSOPR realJSOP

              Back in the day, we could write an executable that consumed less than 500 bytes that could take down a major city's power grid. Ahh, those were good times indeed.

              ".45 ACP - because shooting twice is just silly" - JSOP, 2010
              -----
              You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
              -----
              When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

              Sander RosselS Offline
              Sander RosselS Offline
              Sander Rossel
              wrote on last edited by
              #7

              And 1.4 mb could save or destroy the world![^] :D

              Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

              D 1 Reply Last reply
              0
              • Sander RosselS Sander Rossel

                And 1.4 mb could save or destroy the world![^] :D

                Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                D Offline
                D Offline
                dandy72
                wrote on last edited by
                #8

                If that image is any indication, that only happens in cartoons though...

                1 Reply Last reply
                0
                • R RickZeeland

                  My boss has heard enthousiastic stories about Docker and now wants to use it for distributing Windows applications (both .NET and .NET Core). I never could get enthousiastic about Docker as it can not run Winforms applications, but I decided to give it a chance. Made a simple .NET Core console "Hello World" test application and in VS2017 used Add - Docker, built it and to my surprise everything built on the first try. Nevertheless when I saw the size of the image with Windows Nano server, more than 400 Mb, my enthousiasm was gone again. Am I the only one who can not get enthousiastic about Docker, is it me? I would like to know what your opinion is on the matter :confused:

                  M Offline
                  M Offline
                  Member 9167057
                  wrote on last edited by
                  #9

                  It's neat for running servers as you can nuke/rebuild your server in a hunch if anything goes wrong. But it's rather pointless for anything else. Docker, just like any neat technology, has one or a couple of sensible use cases and a whole army of nutjobs following the cult because it's cool. Heck, not so long a go, some coffee company included the term "Blockchain" in the name and the share value soared. Not kidding, merely mentioning a current hot fad was enough to draw attention from said nutcases.

                  1 Reply Last reply
                  0
                  • R RickZeeland

                    My boss has heard enthousiastic stories about Docker and now wants to use it for distributing Windows applications (both .NET and .NET Core). I never could get enthousiastic about Docker as it can not run Winforms applications, but I decided to give it a chance. Made a simple .NET Core console "Hello World" test application and in VS2017 used Add - Docker, built it and to my surprise everything built on the first try. Nevertheless when I saw the size of the image with Windows Nano server, more than 400 Mb, my enthousiasm was gone again. Am I the only one who can not get enthousiastic about Docker, is it me? I would like to know what your opinion is on the matter :confused:

                    L Offline
                    L Offline
                    lmoelleb
                    wrote on last edited by
                    #10

                    Once they sort out the "how do we make sure our 100000 docker images are all patched to latest security level" issue, it is going to be quite useful, but probably not for running applications on desktops. That was never the goal (though you never know what people will get hacked in - I guess with a X11 server it can already run Linux client software with the right settings). Now think of a server farm that needs to run 1000 services based on the Windows Nano framework. Sure you can install whatever is needed by the 1000 services on all your machines. Good luck keeping that running on 20+ machined. Oh, need to add more machines to scale out. Sure, that will be ready in 2 days once it is all installed... what do you mean it is too late? You can run the 1000 services in virtual machines. Just think about the size and memory overhead of that. With Docker, every service will share the same (relatively limited number of) base images. They will run in the same kernel - consuming less overhead memory as well. Need to scale out? Bring a docker host online, add it to your container management software... and you are done. There are a few other useful things. For example, your software can contain the docker definition for building your product. Need to build a hotfix for a version released 3 years ago? It will take a bit longer as the build agent will have to restore some old docker images - but then it will just run with the build agent looking like it did 3 years ago - and not as the current one with the incompatible versions of the build tools installed. If your usage does not match this, then Docker simply isn't build to address any of the issues you have. Introducing it in this case will just add problems - not solve them.

                    R 1 Reply Last reply
                    0
                    • R RickZeeland

                      My boss has heard enthousiastic stories about Docker and now wants to use it for distributing Windows applications (both .NET and .NET Core). I never could get enthousiastic about Docker as it can not run Winforms applications, but I decided to give it a chance. Made a simple .NET Core console "Hello World" test application and in VS2017 used Add - Docker, built it and to my surprise everything built on the first try. Nevertheless when I saw the size of the image with Windows Nano server, more than 400 Mb, my enthousiasm was gone again. Am I the only one who can not get enthousiastic about Docker, is it me? I would like to know what your opinion is on the matter :confused:

                      R Offline
                      R Offline
                      Riz Thon
                      wrote on last edited by
                      #11

                      I haven't use Docker much but to me the idea of docker is that everyone running you container has the same environment. It's like running a Virtual Machine, but with less overhead as it's using things from the currently installed Linux kernel. Here you're on Windows, and you use a Windows Nano server image, meaning that your container will at least be of that size I guess. So to me it sounds more like as if you were just using a Virtual Machine.

                      R 1 Reply Last reply
                      0
                      • R RickZeeland

                        My boss has heard enthousiastic stories about Docker and now wants to use it for distributing Windows applications (both .NET and .NET Core). I never could get enthousiastic about Docker as it can not run Winforms applications, but I decided to give it a chance. Made a simple .NET Core console "Hello World" test application and in VS2017 used Add - Docker, built it and to my surprise everything built on the first try. Nevertheless when I saw the size of the image with Windows Nano server, more than 400 Mb, my enthousiasm was gone again. Am I the only one who can not get enthousiastic about Docker, is it me? I would like to know what your opinion is on the matter :confused:

                        K Offline
                        K Offline
                        Keviniano Gayo
                        wrote on last edited by
                        #12

                        Docker is working great for me. I have a .net core application that needs to be tested on different .net core runtime (2.0,2.1,2.2). So i created 3 docker containers with different net core runtime running alongside with my application. I will just run those docker images and see if i broke something. Another instance is that i have local application, .net core with PostgreSQL, or with MySQL. Now instead of running a shared database for testing, i can just send my docker images with PostgreSQL or MySQL to our QA/Tester to run on their local machine for testing, alongside with my .net core application in a docker container.

                        [Signature space for sale]

                        R 1 Reply Last reply
                        0
                        • L lmoelleb

                          Once they sort out the "how do we make sure our 100000 docker images are all patched to latest security level" issue, it is going to be quite useful, but probably not for running applications on desktops. That was never the goal (though you never know what people will get hacked in - I guess with a X11 server it can already run Linux client software with the right settings). Now think of a server farm that needs to run 1000 services based on the Windows Nano framework. Sure you can install whatever is needed by the 1000 services on all your machines. Good luck keeping that running on 20+ machined. Oh, need to add more machines to scale out. Sure, that will be ready in 2 days once it is all installed... what do you mean it is too late? You can run the 1000 services in virtual machines. Just think about the size and memory overhead of that. With Docker, every service will share the same (relatively limited number of) base images. They will run in the same kernel - consuming less overhead memory as well. Need to scale out? Bring a docker host online, add it to your container management software... and you are done. There are a few other useful things. For example, your software can contain the docker definition for building your product. Need to build a hotfix for a version released 3 years ago? It will take a bit longer as the build agent will have to restore some old docker images - but then it will just run with the build agent looking like it did 3 years ago - and not as the current one with the incompatible versions of the build tools installed. If your usage does not match this, then Docker simply isn't build to address any of the issues you have. Introducing it in this case will just add problems - not solve them.

                          R Offline
                          R Offline
                          RickZeeland
                          wrote on last edited by
                          #13

                          Wise words and good information ;)

                          1 Reply Last reply
                          0
                          • R Riz Thon

                            I haven't use Docker much but to me the idea of docker is that everyone running you container has the same environment. It's like running a Virtual Machine, but with less overhead as it's using things from the currently installed Linux kernel. Here you're on Windows, and you use a Windows Nano server image, meaning that your container will at least be of that size I guess. So to me it sounds more like as if you were just using a Virtual Machine.

                            R Offline
                            R Offline
                            RickZeeland
                            wrote on last edited by
                            #14

                            That's what I found dissapointing, hearing all the hype about "small microservices" I was expecting something smaller than 433 Mb for a simple Hello World application.

                            1 Reply Last reply
                            0
                            • K Keviniano Gayo

                              Docker is working great for me. I have a .net core application that needs to be tested on different .net core runtime (2.0,2.1,2.2). So i created 3 docker containers with different net core runtime running alongside with my application. I will just run those docker images and see if i broke something. Another instance is that i have local application, .net core with PostgreSQL, or with MySQL. Now instead of running a shared database for testing, i can just send my docker images with PostgreSQL or MySQL to our QA/Tester to run on their local machine for testing, alongside with my .net core application in a docker container.

                              [Signature space for sale]

                              R Offline
                              R Offline
                              RickZeeland
                              wrote on last edited by
                              #15

                              Ah, finally some positive vibes :-\

                              1 Reply Last reply
                              0
                              • realJSOPR realJSOP

                                Back in the day, we could write an executable that consumed less than 500 bytes that could take down a major city's power grid. Ahh, those were good times indeed.

                                ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                                -----
                                You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                                -----
                                When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                                K Offline
                                K Offline
                                kalberts
                                wrote on last edited by
                                #16

                                In the old days of the Univac 1108 you could take down the entire mainframe with a single instruction... In the indirect addressing format, the sign bit would indicate: This is not the address, but a pointer to the address. Which might have the indirect bit set, pointing to yet another address - or to itself. An infinte addressing loop. Using indirect addressing required no privilege; any arbitrary programmer/user could do it. The bad thing was that the hardware design of the addressing logic required interrupts to be disabled (the 1108 had no paging, no page faults). There was no way to bring the machine out of the infinite loop, short of a full reboot.

                                1 Reply Last reply
                                0
                                • R RickZeeland

                                  My boss has heard enthousiastic stories about Docker and now wants to use it for distributing Windows applications (both .NET and .NET Core). I never could get enthousiastic about Docker as it can not run Winforms applications, but I decided to give it a chance. Made a simple .NET Core console "Hello World" test application and in VS2017 used Add - Docker, built it and to my surprise everything built on the first try. Nevertheless when I saw the size of the image with Windows Nano server, more than 400 Mb, my enthousiasm was gone again. Am I the only one who can not get enthousiastic about Docker, is it me? I would like to know what your opinion is on the matter :confused:

                                  S Offline
                                  S Offline
                                  Stuart Dootson
                                  wrote on last edited by
                                  #17

                                  Docker makes more sense with Linux as a target, as you have distros like Alpine that have been designed to be *really* minimal (a base Alpine image is 5MB). I reworked an old Windows server (very old - it was running Server 2003 R2!!) of ours, which had web server, Git & Mercurial repo access, Redmine, MediaWiki into a set of 5 docker images totalling somewhere around 100MB in size. By separating each application into a separate container, I can update each of them without worrying about breaking the others through some common dependency. [docker-compose](https://docs.docker.com/compose/) makes it pretty easy to build, connect and run a set of containers that are menat to run in unison. But for distributing desktop apps? Doesn't make too much sense just yet, especially with Windows, unless you have a large, involved environment you want to make available... However... something like [Windows Sandbox](https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/Windows-Sandbox/ba-p/301849) is a stepping stone towards using containers *or containerisation trechnology* for running desktop applications.

                                  Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

                                  R 1 Reply Last reply
                                  0
                                  • S Stuart Dootson

                                    Docker makes more sense with Linux as a target, as you have distros like Alpine that have been designed to be *really* minimal (a base Alpine image is 5MB). I reworked an old Windows server (very old - it was running Server 2003 R2!!) of ours, which had web server, Git & Mercurial repo access, Redmine, MediaWiki into a set of 5 docker images totalling somewhere around 100MB in size. By separating each application into a separate container, I can update each of them without worrying about breaking the others through some common dependency. [docker-compose](https://docs.docker.com/compose/) makes it pretty easy to build, connect and run a set of containers that are menat to run in unison. But for distributing desktop apps? Doesn't make too much sense just yet, especially with Windows, unless you have a large, involved environment you want to make available... However... something like [Windows Sandbox](https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/Windows-Sandbox/ba-p/301849) is a stepping stone towards using containers *or containerisation trechnology* for running desktop applications.

                                    Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

                                    R Offline
                                    R Offline
                                    RickZeeland
                                    wrote on last edited by
                                    #18

                                    Thanks, useful information :-\

                                    1 Reply Last reply
                                    0
                                    • R RickZeeland

                                      My boss has heard enthousiastic stories about Docker and now wants to use it for distributing Windows applications (both .NET and .NET Core). I never could get enthousiastic about Docker as it can not run Winforms applications, but I decided to give it a chance. Made a simple .NET Core console "Hello World" test application and in VS2017 used Add - Docker, built it and to my surprise everything built on the first try. Nevertheless when I saw the size of the image with Windows Nano server, more than 400 Mb, my enthousiasm was gone again. Am I the only one who can not get enthousiastic about Docker, is it me? I would like to know what your opinion is on the matter :confused:

                                      M Offline
                                      M Offline
                                      maze3
                                      wrote on last edited by
                                      #19

                                      Depending on what the application does, you might be able to skip the docker/containers and go to "server-less" or Function As A Server solutions which can be done with .net/core code.

                                      R 1 Reply Last reply
                                      0
                                      • M maze3

                                        Depending on what the application does, you might be able to skip the docker/containers and go to "server-less" or Function As A Server solutions which can be done with .net/core code.

                                        R Offline
                                        R Offline
                                        RickZeeland
                                        wrote on last edited by
                                        #20

                                        Aha, going to try that! thanks :-\

                                        1 Reply Last reply
                                        0
                                        • realJSOPR realJSOP

                                          Back in the day, we could write an executable that consumed less than 500 bytes that could take down a major city's power grid. Ahh, those were good times indeed.

                                          ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                                          -----
                                          You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                                          -----
                                          When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                                          M Offline
                                          M Offline
                                          Matt McGuire
                                          wrote on last edited by
                                          #21

                                          that's why i enjoy embedded chip programming. for me it's more fun to work within 1kb of memory, than to figure out some modern application framework that might not be valid in a couple years time.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups