Click here to Skip to main content
15,913,090 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralWTH Is Docker?? Pin
Kevin Marois18-Oct-18 12:00
professionalKevin Marois18-Oct-18 12:00 
GeneralRe: WTH Is Docker?? Pin
Mycroft Holmes18-Oct-18 12:09
professionalMycroft Holmes18-Oct-18 12:09 
GeneralRe: WTH Is Docker?? Pin
Vincent Maverick Durano18-Oct-18 12:19
professionalVincent Maverick Durano18-Oct-18 12:19 
GeneralRe: WTH Is Docker?? Pin
PIEBALDconsult18-Oct-18 13:17
mvePIEBALDconsult18-Oct-18 13:17 
GeneralRe: WTH Is Docker?? PinPopular
Marc Clifton18-Oct-18 13:52
mvaMarc Clifton18-Oct-18 13:52 
GeneralRe: WTH Is Docker?? Pin
Nathan Minier19-Oct-18 1:37
professionalNathan Minier19-Oct-18 1:37 
GeneralRe: WTH Is Docker?? Pin
dandy7219-Oct-18 4:22
dandy7219-Oct-18 4:22 
GeneralRe: WTH Is Docker?? Pin
kalberts19-Oct-18 10:51
kalberts19-Oct-18 10:51 
Most Windows software is GUI based, and the only graphical user interface that you can make with Docker is a web iterface. So almost all of MS software is useless in a Docker environment.

You can make Docker images running programs with a 1970-style command line user interface, such as compilers, MSbuild and similar tools. These are typically freely available, such as in the vs_buildtools package, with "no" licensing restrictions. (There is a license agreement, but none of the restrictions is likely to affect you, whatever you use it for.) So for all practical purposes, Windows licensing is not an issue.

The disadvantage of a free package is that there is no support - earlier today, when I asked MS support for a list of the IDs of the modules in the vs_buildtools package, I was told to raise a support case, paid for at a case-by-case basis, expected cost around 300 Euro. I turned that "offer" down, and later today I found the URL listing the IDs. I am happy that I didn't pay MS 300 Euro to provide a URL to one of their web pages!

Essentially, Docker images create closed environments where the only interface to the outer world are IP based protocols, such as SSH, HTTP etc. They are sort of nice when you live in a command-line oriented world - so *nix geeks love them. The isolation is also sort of nice, as long as you do not expect any non-IP interface to the outer world. But if you change a single detail, such as updating the compiler version, you have to create another closed world, containing that compiler version.

On the other hand... We have had a long discussion whether to make "one tool, one Docker image" or "one complete set of tools one docker image". In the first alternative, the build script is essentially interpreted outside Docker, each Dockerized tool being invoked more or less like another executable. In the second alternative, the build script is essentially passed to the command interpreter of a running Docker container, and the various tools in the container is invoked in turn, inside the container.

In our company, we have essentially gone for the second alternative, because it allows us centralized control over the entire tool chain. We offer the developers a unified set of tools, rather than a pick-and-choose development environment. If some project insists on, say, a newer compiler version, it requires us to update an entire tool chain, which is not a five-minute job. (Well, technically it might, but we will force it to be something that is considered in a larger framework, e.g. consulting with other users of the old version). So larger Docker images providing complete toolchains, rather than smaller images providing individual tools, is one way of controlling version proliferation across projects within the company (which certainly has been a problem the last few years).

The closed world of a Docker container (to keep terminology clear: A Docker image is similar to an executable file, with each "layer" similar to a dll, while a Doocker container is similar to a process - an instance of an image, or if you like: An instance of an executable file) means that unless a specific bug affects your program, there is no need to "maintain and patch" the image. Maybe other images are based on newer, patched-up base images, but that won't affect your older image. If you really need to update, because a patch is required for your image to run, then you will create a new Docker image, a new isolated world with that patched-up image. But that is only if your software depends on those fixes. If they don't: Keep running your old version. That's what isolation is about Smile | :)
GeneralRe: WTH Is Docker?? Pin
dandy7219-Oct-18 17:20
dandy7219-Oct-18 17:20 
AnswerRe: WTH Is Docker?? Pin
lopatir18-Oct-18 16:09
lopatir18-Oct-18 16:09 
GeneralRe: WTH Is Docker?? Pin
Rajesh R Subramanian18-Oct-18 19:22
professionalRajesh R Subramanian18-Oct-18 19:22 
GeneralRe: WTH Is Docker?? Pin
Charlie brown 71118-Oct-18 19:16
Charlie brown 71118-Oct-18 19:16 
GeneralRe: WTH Is Docker?? Pin
Dar Brett18-Oct-18 19:39
Dar Brett18-Oct-18 19:39 
GeneralRe: WTH Is Docker?? Pin
Richard MacCutchan18-Oct-18 21:21
mveRichard MacCutchan18-Oct-18 21:21 
GeneralRe: WTH Is Docker?? Pin
Eytukan18-Oct-18 23:32
Eytukan18-Oct-18 23:32 
GeneralRe: WTH Is Docker?? Pin
Sander Rossel18-Oct-18 23:56
professionalSander Rossel18-Oct-18 23:56 
GeneralRe: WTH Is Docker?? Pin
den2k8819-Oct-18 2:52
professionalden2k8819-Oct-18 2:52 
GeneralRe: WTH Is Docker?? Pin
Sander Rossel19-Oct-18 3:14
professionalSander Rossel19-Oct-18 3:14 
GeneralRe: WTH Is Docker?? Pin
den2k8819-Oct-18 3:55
professionalden2k8819-Oct-18 3:55 
GeneralIt looks like astronomers found the Lights of Zetar Pin
Marc Clifton18-Oct-18 10:57
mvaMarc Clifton18-Oct-18 10:57 
GeneralRe: It looks like astronomers found the Lights of Zetar Pin
CodeWraith18-Oct-18 21:57
CodeWraith18-Oct-18 21:57 
GeneralIs Windows 10 Build 1803 causing very strange directory size property readings? Pin
swampwiz18-Oct-18 9:20
swampwiz18-Oct-18 9:20 
GeneralBeer (and I do mean proper beer) Pin
Richard MacCutchan18-Oct-18 5:41
mveRichard MacCutchan18-Oct-18 5:41 
GeneralRe: Beer (and I do mean proper beer) Pin
Johnny J.18-Oct-18 6:00
professionalJohnny J.18-Oct-18 6:00 
GeneralRe: Beer (and I do mean proper beer) Pin
Richard Deeming18-Oct-18 6:15
mveRichard Deeming18-Oct-18 6:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.