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. How many here use or plan to use Docker?

How many here use or plan to use Docker?

Scheduled Pinned Locked Moved The Lounge
comdevopsdockerdata-structuresquestion
58 Posts 19 Posters 0 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

    Are you sure it's not based on a Linux virtual machine ?

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

    Don't use the term "virtual machine" when close to Docker people, unless you are eager to listen to a 45 minute intense talk that Docker is NOT, I repeat: NOT virualization! Virtualization is evil, Docker is good! And Docker isn't even "lightweight" virtualization. It is useless trying to discuss definitions of "virtualization" with Docker guys, or trying to compare the Docker way of providing isolation with a hypothetical minmal VM providing exactly those functions that your application needs while still being a VM (for the purpose of learning the details of what is so evil about virtualization). It is no use. The answer is given: VMs are evil, by definition. On the more serious side: Yes, the Docker demon is managed by a Linux kernel even in the Windows implemnentation. This is not a Linux virtual machine. On Windows 10, the Docker demon runs inside a Hyper-V VM (so it requires a 64 bit CPU with Extended Page Tables. (On Server 2016 the implementation is somewhat different, and does not use Hyper-V.) You can run Linux docker images in a Windows implementation; the Linux kernel functions are executed by the same kernel that runs the demon. You can obviously also run Windows docker images on Windows, but currently, the demon is in either Linux or Windows mode; it cannot run both flavors side by side. (I have seen rumours that this is being worked on, and will be possible in a future release.) The Linux implementation cannot run Windows images. Docker is essentially suited for backend services: Until you start doing fancy tricks, a container's only interface to the world outside the Docker demon is one or more TCP ports, or for persistent data: Mapping (parts of) an external file system as a Docker volume. There are two main alternatives for providing some sort of user interface: Either the container runs a web server, or you hook up a SSH console to it. In principle, I guess you could run e.g. an X.11 client in a Docker contiainer to give it a GUI interface; I doubt that anyone has seriously done anything like that. I guess that Docker is as suitable for web servers running on a Windows host as for web servers running on a Linux host. But applications running a Windows GUI of any kind cannot be adapted to Docker. Nor can any application that requires user interaction for installation, installation must be pure command-line based, with all parameters supplied either on the call line or in a setup/ini-file. When used for what it is good at, Docker is OK. Strechin

    N R M E 5 Replies Last reply
    0
    • R RickZeeland

      If anyone ever managed to run a Winforms application on Docker I would like to know !

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

      If you by "Windows application" mean one with a native Windows GUI: No, that is not possible. Windows applications without any GUI, communicating through either a web or SSH interface, is certainly possible - the kind of backend / web services. The bottom layer of a Windows Docker image contains all that OS functionaliy that the upper layers have access to is a "Windows nanokernel" of, believe it or not, almost a gigabyte. (One might wonder what size a megakernel would be!) My guess is that those services offered by the nanokernel (which does not include any GUI functions!) really could be done in a fraction of the size, but the various modules are so deeply intertwingled that shaving off all that stuff that really does nothing for the API would require man-years of effort. Since this layer is shared between all running containers, and code that is never used is never paged in from disk, they probably figure "A GB of disk space is nothing, so shaving it further down isn't worth the cost". Sure, I am just guessing, but to me that looks like a reasonable explanation for that GB size bottom layer.

      1 Reply Last reply
      0
      • N Nish Nishant

        Are you using Docker or similar technologies today? What's been your experience like? What stack do you use it on? Thank you.

        Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

        X Offline
        X Offline
        xperroni
        wrote on last edited by
        #21

        I use Docker to create encapsulated, versioned development environments for my projects. That way I can have different package versions installed side by side, and can easily rollback environment changes. See my [Luffer](https://github.com/xperroni/luffer) project for details.

        "Whereas smaller computer languages have features designed into them, C++ is unusual in having a whole swathe of functionality discovered, like a tract of 19th century Africa." -- Verity Stob http://www.theregister.co.uk/2006/05/05/cplusplus\_cli/

        N 1 Reply Last reply
        0
        • M Maximilien

          You know, I just spent 10 minutes looking at the Docker site and I have not clue at all what it is and what it should do. "Docker is the company driving the container movement and the only container platform provider to address every application across the hybrid cloud. Today’s businesses are under pressure to digitally transform but are constrained by existing applications and infrastructure while rationalizing an increasingly diverse portfolio of clouds, datacenters and application architectures. Docker enables true independence between applications and infrastructure and developers and IT ops to unlock their potential and creates a model for better collaboration and innovation." There is so much technobabble in there, I'm not certain who's the target audience.

          I'd rather be phishing!

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

          Many Docker guys try to sell Docker as just a way to pack up things, sort of like a fancy MSI or CAB file but more self contained. Making it appear very simple and lightweight is essential for markting. Really, it is a complete, more or less closed execution environment. A huge black box. You stuff your code into it through a Docker image builder; that makes it enter the black box and the only thing you can do with it is act as a user, either through a web or SSH interface. You don't see its file system. You don't see its internal network, its processes and threads. You can request some information about what's going on through an SSH interface to the demon controlling the whole thing, but that is very indirect and with far less control and available information than you are used to. After you have learned the basics, you go into "orchestration": Having a dynamic set of maybe a thousand running containers serving your web users. So you add other black boxes, controlling all those blackboxes, "swarms" and "kubernetes" are the most common orhcestration tools. They create their own closed worlds, too, and the infrastructure has become so complex that you can forget everything about "lightweight"... Don't expect to understand any of Docker in 10 minutes. Not even 10 hours. If you spend 10 days intensely studying it, with the aid of some good instructors, you will begin to understand what it is. After 10 months of practical use, you may have a feeling of beginning to master it.

          1 Reply Last reply
          0
          • R RickZeeland

            As Windows users developing mainly in Winforms we were disappointed, as Docker turns out to be a Linux thing. We don't use it (yet) :-\

            N Offline
            N Offline
            Nish Nishant
            wrote on last edited by
            #23

            Don't they have Windows support now?

            Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

            1 Reply Last reply
            0
            • P Pete OHanlon

              There is a Windows version. I'm not saying it's great, but there is one.

              This space for rent

              N Offline
              N Offline
              Nish Nishant
              wrote on last edited by
              #24

              Nano Server?

              Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

              P 1 Reply Last reply
              0
              • K kalberts

                Don't use the term "virtual machine" when close to Docker people, unless you are eager to listen to a 45 minute intense talk that Docker is NOT, I repeat: NOT virualization! Virtualization is evil, Docker is good! And Docker isn't even "lightweight" virtualization. It is useless trying to discuss definitions of "virtualization" with Docker guys, or trying to compare the Docker way of providing isolation with a hypothetical minmal VM providing exactly those functions that your application needs while still being a VM (for the purpose of learning the details of what is so evil about virtualization). It is no use. The answer is given: VMs are evil, by definition. On the more serious side: Yes, the Docker demon is managed by a Linux kernel even in the Windows implemnentation. This is not a Linux virtual machine. On Windows 10, the Docker demon runs inside a Hyper-V VM (so it requires a 64 bit CPU with Extended Page Tables. (On Server 2016 the implementation is somewhat different, and does not use Hyper-V.) You can run Linux docker images in a Windows implementation; the Linux kernel functions are executed by the same kernel that runs the demon. You can obviously also run Windows docker images on Windows, but currently, the demon is in either Linux or Windows mode; it cannot run both flavors side by side. (I have seen rumours that this is being worked on, and will be possible in a future release.) The Linux implementation cannot run Windows images. Docker is essentially suited for backend services: Until you start doing fancy tricks, a container's only interface to the world outside the Docker demon is one or more TCP ports, or for persistent data: Mapping (parts of) an external file system as a Docker volume. There are two main alternatives for providing some sort of user interface: Either the container runs a web server, or you hook up a SSH console to it. In principle, I guess you could run e.g. an X.11 client in a Docker contiainer to give it a GUI interface; I doubt that anyone has seriously done anything like that. I guess that Docker is as suitable for web servers running on a Windows host as for web servers running on a Linux host. But applications running a Windows GUI of any kind cannot be adapted to Docker. Nor can any application that requires user interaction for installation, installation must be pure command-line based, with all parameters supplied either on the call line or in a setup/ini-file. When used for what it is good at, Docker is OK. Strechin

                N Offline
                N Offline
                Nish Nishant
                wrote on last edited by
                #25

                Good info, thank you. :thumbsup:

                Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                1 Reply Last reply
                0
                • R RickZeeland

                  If anyone ever managed to run a Winforms application on Docker I would like to know !

                  N Offline
                  N Offline
                  Nish Nishant
                  wrote on last edited by
                  #26

                  Why would you want to run a UI app in Docker?

                  Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                  R 1 Reply Last reply
                  0
                  • M Maximilien

                    You know, I just spent 10 minutes looking at the Docker site and I have not clue at all what it is and what it should do. "Docker is the company driving the container movement and the only container platform provider to address every application across the hybrid cloud. Today’s businesses are under pressure to digitally transform but are constrained by existing applications and infrastructure while rationalizing an increasingly diverse portfolio of clouds, datacenters and application architectures. Docker enables true independence between applications and infrastructure and developers and IT ops to unlock their potential and creates a model for better collaboration and innovation." There is so much technobabble in there, I'm not certain who's the target audience.

                    I'd rather be phishing!

                    N Offline
                    N Offline
                    Nish Nishant
                    wrote on last edited by
                    #27

                    Yeah, it's not easy to get a proper technical article amidst a lot of marketing content.

                    Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                    1 Reply Last reply
                    0
                    • J Jacquers

                      Yeah, we use it in dev to run PostgreSQL. I use it with Kitematic and so far it's been fine.

                      N Offline
                      N Offline
                      Nish Nishant
                      wrote on last edited by
                      #28

                      Thank you. How do you do local dev/debugging? Always connect to the remote docker image/instance?

                      Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                      J 1 Reply Last reply
                      0
                      • K Keith Barrow

                        Nish Nishant wrote:

                        Are you using Docker or similar technologies today?

                        Yes, in fact it's currently my main task

                        Nish Nishant wrote:

                        What's been your experience like?

                        Pretty much wholly positive - though we're almost a classic use case. We're containerising our build system which is a mix of gulp and webpack builds across JavaScript and Typescript code bases (deprecating the former in favour of the latter) as well as cordova apps.The platform (.net) team at the other end of the corridor is doing something similar.

                        Nish Nishant wrote:

                        What stack do you use it on?

                        Linux - the host machine doesn't matter too much, the containers are either apline or debian. From there we build the container to do what we want, such a "be a gulp environment" or "be a cordova build system". Not tried it on Windows, the other team seems to think it's fine. Doesn't work fully on Macs - runs inside an actual VM, but can be used for testing.

                        KeithBarrow.net[^] - It might not be very good, but at least it is free!

                        N Offline
                        N Offline
                        Nish Nishant
                        wrote on last edited by
                        #29

                        How's your development/debugging experience? Do you create local docker containers? Or do you connect to a remote docker image/instance? (example on AWS/Azure)

                        Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                        K 1 Reply Last reply
                        0
                        • Sander RosselS Sander Rossel

                          Haven't used it yet, but I'd very much like to. I'm sure it has its problems, but it would sure as hell solve a lot of them too! The company I currently work for has been talking about it, but they're still on Windows 7 so it's a no-go for them (for now). They do have lots of services that all depend on one another though, so Docker would certainly help in automated testing and deployment.

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

                          N Offline
                          N Offline
                          Nish Nishant
                          wrote on last edited by
                          #30

                          Thanks.

                          Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                          1 Reply Last reply
                          0
                          • M Marc Clifton

                            [Search Results for “docker” – Marc Clifton](https://marcclifton.wordpress.com/?s=docker) That might help. ;)

                            Latest Article - Building a Prototype Web-Based Diagramming Tool with SVG and Javascript 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

                            N Offline
                            N Offline
                            Nish Nishant
                            wrote on last edited by
                            #31

                            Thank you. Will be good to read some critical and not so positive write-ups too I suppose. :)

                            Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                            M 1 Reply Last reply
                            0
                            • X xperroni

                              I use Docker to create encapsulated, versioned development environments for my projects. That way I can have different package versions installed side by side, and can easily rollback environment changes. See my [Luffer](https://github.com/xperroni/luffer) project for details.

                              "Whereas smaller computer languages have features designed into them, C++ is unusual in having a whole swathe of functionality discovered, like a tract of 19th century Africa." -- Verity Stob http://www.theregister.co.uk/2006/05/05/cplusplus\_cli/

                              N Offline
                              N Offline
                              Nish Nishant
                              wrote on last edited by
                              #32

                              Nice - thank you. Can you talk about you local dev experience? Do you cerate a docker image locally and work against that?

                              Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                              X 1 Reply Last reply
                              0
                              • N Nish Nishant

                                Nice - thank you. Can you talk about you local dev experience? Do you cerate a docker image locally and work against that?

                                Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                                X Offline
                                X Offline
                                xperroni
                                wrote on last edited by
                                #33

                                Yes, I run the docker container locally in detached mode, with the base directory of my project mapped into it, and use `docker exec` to send it commands. This is all automated / abstracted away by [Luffer](https://github.com/xperroni/luffer), the tool I mentioned earlier.

                                "Whereas smaller computer languages have features designed into them, C++ is unusual in having a whole swathe of functionality discovered, like a tract of 19th century Africa." -- Verity Stob http://www.theregister.co.uk/2006/05/05/cplusplus\_cli/

                                N 1 Reply Last reply
                                0
                                • N Nish Nishant

                                  Thank you. How do you do local dev/debugging? Always connect to the remote docker image/instance?

                                  Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                                  J Offline
                                  J Offline
                                  Jacquers
                                  wrote on last edited by
                                  #34

                                  Someone here set up some scripts to create the docker images and configure them. From what I understand I connect to the local docker instance.

                                  N K 2 Replies Last reply
                                  0
                                  • J Jacquers

                                    Someone here set up some scripts to create the docker images and configure them. From what I understand I connect to the local docker instance.

                                    N Offline
                                    N Offline
                                    Nish Nishant
                                    wrote on last edited by
                                    #35

                                    Thanks.

                                    Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                                    1 Reply Last reply
                                    0
                                    • X xperroni

                                      Yes, I run the docker container locally in detached mode, with the base directory of my project mapped into it, and use `docker exec` to send it commands. This is all automated / abstracted away by [Luffer](https://github.com/xperroni/luffer), the tool I mentioned earlier.

                                      "Whereas smaller computer languages have features designed into them, C++ is unusual in having a whole swathe of functionality discovered, like a tract of 19th century Africa." -- Verity Stob http://www.theregister.co.uk/2006/05/05/cplusplus\_cli/

                                      N Offline
                                      N Offline
                                      Nish Nishant
                                      wrote on last edited by
                                      #36

                                      Excellent. Thank you for the info.

                                      Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                                      1 Reply Last reply
                                      0
                                      • N Nish Nishant

                                        Nano Server?

                                        Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com

                                        P Offline
                                        P Offline
                                        Pete OHanlon
                                        wrote on last edited by
                                        #37

                                        There's that and Docker for Windows[^].

                                        This space for rent

                                        N 1 Reply Last reply
                                        0
                                        • K kalberts

                                          Don't use the term "virtual machine" when close to Docker people, unless you are eager to listen to a 45 minute intense talk that Docker is NOT, I repeat: NOT virualization! Virtualization is evil, Docker is good! And Docker isn't even "lightweight" virtualization. It is useless trying to discuss definitions of "virtualization" with Docker guys, or trying to compare the Docker way of providing isolation with a hypothetical minmal VM providing exactly those functions that your application needs while still being a VM (for the purpose of learning the details of what is so evil about virtualization). It is no use. The answer is given: VMs are evil, by definition. On the more serious side: Yes, the Docker demon is managed by a Linux kernel even in the Windows implemnentation. This is not a Linux virtual machine. On Windows 10, the Docker demon runs inside a Hyper-V VM (so it requires a 64 bit CPU with Extended Page Tables. (On Server 2016 the implementation is somewhat different, and does not use Hyper-V.) You can run Linux docker images in a Windows implementation; the Linux kernel functions are executed by the same kernel that runs the demon. You can obviously also run Windows docker images on Windows, but currently, the demon is in either Linux or Windows mode; it cannot run both flavors side by side. (I have seen rumours that this is being worked on, and will be possible in a future release.) The Linux implementation cannot run Windows images. Docker is essentially suited for backend services: Until you start doing fancy tricks, a container's only interface to the world outside the Docker demon is one or more TCP ports, or for persistent data: Mapping (parts of) an external file system as a Docker volume. There are two main alternatives for providing some sort of user interface: Either the container runs a web server, or you hook up a SSH console to it. In principle, I guess you could run e.g. an X.11 client in a Docker contiainer to give it a GUI interface; I doubt that anyone has seriously done anything like that. I guess that Docker is as suitable for web servers running on a Windows host as for web servers running on a Linux host. But applications running a Windows GUI of any kind cannot be adapted to Docker. Nor can any application that requires user interaction for installation, installation must be pure command-line based, with all parameters supplied either on the call line or in a setup/ini-file. When used for what it is good at, Docker is OK. Strechin

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

                                          Thanks, that clears things up a lot. I knew Docker is not a virtual machine, but did not know how to call it otherwise, maybe "containerization platform" would fit the bill ?

                                          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