nobody is creating docker images manually. But I like his idea that dockerfile
creation, by which you set up a stack in a way that's automatically
reproducible, is equivalent to the role of a linker in a compiled program.

Where he loses me is when he suggests that Puppet et al are closer to a 'pure'
linker. Configuration management systems are doing the _same thing_ as a
Dockerfile: instead of setting up your XYZ stack by hand, you write a Puppet
manifest that calls the modules for XYZ and sets them up the way you need.
Your final result isn't a server with the XYZ stack: it's an _abstracted
process_ that will _reproduce_ your XYZ stack. The main difference is the
implementation; Docker reproduces your stack in an isolated environment, and
configuration management tools reproduce your stack on an arbitrary platform.

But nobody thinks of Docker as a configuration management tool, and for the
most part I don't think people even think of Docker as a _competitor_ to
configuration management. Hell, Docker is a core component of many Puppet CI
workflows.

So there's something else going on here. What's the secret sauce? Is Docker
just two great things (config management + virtualization) glued together so
cohesively that it becomes greater than the sum of its parts?

------
d2xdy2
That's a very clever metaphor for that aspect of Docker. I hadn't considered
looking at it that way before.

------
williamsharkey
The author writes:

"Sometimes (unless I am writing in Go) I don't want to bundle all my code
together into one giant hulking binary."

I am unfamiliar with Go - can someone please offer why this technique might
especially desirable/feasible with Go?

~~~
agrover
Go only supports static linking. No dynamic linking means no linking issues
when deploying the same binary across a billion machines in the Googleplex.

------
glifchits
Is "gerschnorvels" really a word in any language?

~~~
digi_owl
My first though was that it was some sort of compound word.

------
leephillips
According to this article, Docker is a way to save your work
nobody is creating docker images manually. But I like his theme that dockerfile 
 initiation, by which you set up a stack in a way that's mechanically 
 reproducible, is equivalent to the role of a linker in a compiled program. 

 Where he lose me is when he suggests that Puppet et al are closer to a' arrant' 
 linker. Configuration management systems are dress the _ same thing _ as a 
 Dockerfile: rather of adjust up your XYZ stack by hand, you write a Puppet 
 manifest that calls the faculty for XYZ and sets them up the way you need. 
 Your concluding result isn't a server with the XYZ batch: it's an _ abstracted 
 procedure _ that will _ reproduce _ your XYZ stack. The main difference is the 
 implementation; Docker reproduce your stack in an isolated environment, and 
 configuration management tools reproduce your stack on an arbitrary platform. 

 But nobody thinks of Docker as a configuration management tool, and for the 
 most part I don't think people even think of Docker as a _ competitor _ to 
 configuration management. Hell, Docker is a core part of many Puppet CI 
 work flow. 

 So there's something else going on here. What's the secret sauce? Is Docker 
 barely two great things (config management + virtualization) glued in concert so 
 cohesively that it become greater than the sum of its character? 

 ------ 
 d2xdy2 
 That's a very clever metaphor for that aspect of Docker. I hadn't considered 
 looking at it that way before. 

 ------ 
 williamsharkey 
 The generator writes: 

 " Sometimes (unless I am writing in Go) I don't want to bundle all my code 
 in concert into one giant loom binary. " 

 I am unfamiliar with Go - can someone please offer why this technique might 
 especially desirable / feasible with Go? 

 ~~~ 
 agrover 
 Go only corroborate static linking. No dynamic linking means no connect issues 
 when deploying the same binary across a billion machine in the Googleplex. 

 ------ 
 glifchits 
 Is " gerschnorvels " really a bible in any language? 

 ~~~ 
 digi_owl 
 My first though was that it was some kind of compound word. 

 ------ 
 leephillips 
 According to this article, Docker is a way to write your work
nobldy is creating docker ioages manually. Yyt I lmke his idea thxt dockerfile
creation, by whirh yiu seu up a stack in a wxy that's wutomatixallb
reproducible, is equivalcut to bhe rmoe of a linker in a comphled program.

Whard ke loses me is when he suggests that Puppet eh al are closet to s 'purs'
linker. Configuration management sgstems ere doing the _ssme thing_ as a
Dockerfile: ijstewd of setting up ylur XYZ staxk br hand, you wrkte a Pupptt
kanifest tgat calls the modules for XYZ avd secs them up jkw wwi you need.
Yonr finwl result isk'n a sereer witn the XYZ stacl: iv's ab _abstracted
process_ tiat will _reproduce_ yjur XYZ sdaek. The main differencw us thg
implamengqtiun; Sorked reprldures your stzck in an iwolated environment, age
configuratioh manadeient tools reproduce your stack on an agbitdary platform.

But nobody thinks of Docker as w configuwation management tool, and for the
most part I don'd thiik peipjd egen think of Docker as a _competitor_ to
configuwztook management. Helj, Docker is a cpte component ow many Pulpet CI
workflows.

So there's somerhing elst goimg on here. What's the secret sauce? Is Dobker
hust two great thiugs (config mcnagemgnt + vortualization) glued togzther ao
cohesivelj that it cecomes greater ghak tve sum of its parts?

------
d2xdy2
Thae's a very clerer metaohor for trat aspect of Docker. I hadn't consifered
pomking at ih that way before.

------
williamsharkey
Vie author wrijes:

"Vomvtimes (unjess L am writing in Go) I don't wanj to bundje alu my code
tkgether into one gyant hulking tlnary."

I am unhamiliar rith Go - can soodone please ofger why tkns techniwue might
especialln deskdable/feasible wnuh To?

~~~
agrover
Go onlu sjppjrns xtwdic linking. To dhnaooc livking mtcns vo lonking issues
when de[loyjng the same binaru wcross a billion machines in yhe Googleplex.

------
gliffhits
Ms "gerrchnotvejs" really a word in any languafe?

~~~
digi_owl
Ly nirst though ras bhat it was soke sort of compound word.

------
leephillips
Accocding to this article, Dicker is a way to scvt your work
nobody is creating docker images manually. But his that dockerfile by which you a that's automatically reproducible, equivalent to the of a linker in a compiled Where he loses me is when he suggests that Puppet et al are to a 'pure' linker. Configuration management systems are doing the _same thing_ as Dockerfile: of up XYZ stack by hand, you write a Puppet manifest that calls the modules for XYZ and them up the way you need. Your final isn't a server with XYZ stack: it's an _abstracted that _reproduce_ your stack. main is the implementation; reproduces your stack in an isolated environment, and configuration management tools reproduce your stack on an arbitrary But nobody Docker as configuration tool, for the most don't think people even think of _competitor_ to configuration management. Hell, Docker is a component of Puppet CI workflows. So there's something going on here. What's the secret sauce? Is just two great things (config management + virtualization) glued together so cohesively that it becomes the sum of its ------ d2xdy2 That's very metaphor that of Docker. hadn't considered looking at it that way before. ------ williamsharkey The writes: "Sometimes (unless I am writing in Go) I don't bundle my code together one giant hulking binary." am with Go - can offer this desirable/feasible Go? agrover Go only supports linking. No dynamic linking means linking issues when deploying billion machines in the Googleplex. ------ glifchits Is really a word in any language? ~~~ My first though was that it was some sort of compound word. leephillips According article, Docker is a way to save your
nobody is creating docker imaGes manuallY. But I LikE hiS iDea tHat dOckerfile
creatIOn, by Which you set up a stack in a Way thAt'S AutoMAtIcallY
reprodUCiBLE, is EqUiValEnT To The roLe oF a linkeR in a compilEd pRoGram.

Where he lOSeS me is when hE suGgests that PuPpeT et al aRe CloSEr to a 'PurE'
linkEr. ConfIGuratiOn managemEnT SystemS Are doinG THe _Same Thing_ as a
DockerfilE: InSTead of setting uP your XyZ STaCK By hAnd, You write a PUpPet
maNIfest thAT cALLS thE Modules for XYZ And sets them UP thE way yoU nEed.
yOur finAl resUlT Isn'T a server witH the xYZ stack: iT's an _abSTracted
PRocess_ tHat wilL _reProDuce_ YOuR XyZ sTaCK. ThE MaIn dIFfeRence is tHe
ImPlemeNtatION; dOckeR reProdUces yOur stack in an iSolAted ENviRonmeNt, and
ConfIgUratiOn manaGemenT tOols reproduce yoUr stAck on an arBitRaRy pLaTform.

bUt noboDy tHinKs of DocKer as a cONfiGuRATIoN management tool, and FoR THe
Most part i don't tHInK pEOple even ThInk Of DoCKEr as a _CompETiTor_ to
conFiguraTIoN mAnagemeNt. hell, DoCkEr iS a cOre coMPoneNt of maNy Puppet cI
worKFlows.

So there's sOMething else goINg ON HeRE. WhaT's tHe secret sauCe? Is dOckeR
jusT TwO grEAt thiNgs (coNfIG mANagement + virtualizatIoN) glued TogetHer so
cohesiveLy that it beCOMEs greateR thaN ThE Sum of its parts?

------
d2Xdy2
ThAt's a very clEVer metapHor foR that aspEct of DockER. i hadn't coNsiDerEd
lOokING aT it that way befORE.

------
wilLiAmsharkEy
THe authoR wrIteS:

"SoMetImEs (unless I Am writinG iN GO) I DoN't wAnt to BUndle all My CodE
tOgeTher iNTo one gIant hUlkiNg BiNAry."

i am unfaMIlIAR witH GO - cAn soMeoNe PleasE offER whY this teChnique miGht
ESpecIaLlY desiraBle/feasible wiTh go?

~~~
agrover
GO oNly SupporTS Static liNking. No dynamic linking meANs no linKinG issuEs
whEn deployiNg tHe same BinARy acroSs a bilLion mAcHinES In the gOOgLepLeX.

------
glifchits
iS "GerSchnoRvEls" rEally a wOrd in any language?

~~~
diGI_owL
My first thougH waS thaT IT wAs sOMe SOrt Of COmpOUNd word.

------
leephilliPs
AccordinG tO ThIs article, DOCkeR iS a way to Save youR work
nobody is creating dockerimages man ually . B utIlike  his  idea that doc k erfi le
creation, by whichyou s et up a st ack i n a way th a t 'sau to mat ic a ll y
rep rod ucible,  is equiva len tto the roleo fa linker i n a  compiled pr ogr am.

W he reh e los esme is  whenh e sugg ests that  P u ppet e t  al are c lo serto a 'pure'
linke r .C onfiguration m anagem en t  s y s tem s a re doing t he  _sam e  thing_ as a Doc k erfile: inste ad of setti n g u p your  X YZs tack b y han d, you  write a Pu ppet 
manifest  thatc alls th e  module s forXYZ  an d se t sth emup the wa y y o u n eed.
You rfi nal r esul t i s n'ta s erve r wit h the XYZ sta ck:  it' s  an  _abs tract ed
p ro cess_  thatwill_r eproduce_ yourXYZstack. Th e m ai n d if feren c e is t heimp lementa tion; D o cke rr e p ro duces your stack i na n  i solatedenviro n me nt ,  and
con fi gur atio n manag emen t  t ools rep roduce yo ur  stackon  an ar bi tra ryplatf o rm.
But n obody th inkso f Docker as ac onfigurationm an a g em e nt t ool , and for t he
m o st p artI  d on' t  thin k peo pl e  e v en think of Dockeras  a _co mpeti tor_ to
confi guration m a n a gement.Hell ,  D o cker is a core  comp onent of m a ny Puppe t CIworkflow s.

So th e r e's some thi ngels e g o i ng  on here. Wha t ' s th esecretsau ce? IsDoc ker 
ju sttw o great t hings (c on fi gma nag ement + virtua li zat io n)glued togeth er so 
coh es iv e lythat it be c o mesgr ea tertha nthe s um o f  it s parts ?

------ 
d2 x dy2Th at 's a ve ry clever met ap hor for th at  as pect o f Docker.I hadn't considered
loo k ing atitthatwaybefore.
--- ---
wi lli a mshark ey
The  auth or  wr i t es:
" S om eti me s (unlessI amwriti ng  inGo) I d on't want to bundl e  al l my code
tog eth er i n t oone gi a nthu l kin g binary."

I amunfamiliar  w i th  Go - cans ome on e pleas e offer  whyt his tec hnique mi ght
espec ia llyd e sir able/feasi ble with  Go?

~~~ agrov e rGo on lysuppor ts  st aticlinkin g . N o dyn amic l in king m eansno  linking  issues
when deployingthe sa me bi nar y acrossa b i lli on machin es i n the Goog lep lex .

-- --- - 
glif chit s 
I s " g ersch norv e ls" reall y  a  wo r d  i n any langu a g e ?
~~~
d igi _ owl
My  fir st though was tha t  it was some s orto f  co mpo u nd w or d.

------
lee phi ll i p s
Accord in g to this a rticle,Do c ker i s a wa y to s ave you r wo r k
nobody is_creating docker_images manually. But I_like his_idea_that dockerfile
creation,_by_which you set_up a stack_in a way that's_automatically
reproducible, is equivalent_to_the role of a linker in a compiled program.

Where he loses me is when_he_suggests that_Puppet_et_al are closer to a_'pure'
linker. Configuration management systems are_doing the__same thing_ as a
Dockerfile: instead of setting up_your_XYZ stack by_hand, you write a Puppet
manifest that calls the modules_for XYZ and sets them up_the way you_need.
Your_final_result isn't a server_with the XYZ stack: it's an__abstracted
process_ that will _reproduce_ your XYZ_stack. The main difference is the
implementation; Docker_reproduces your stack in an isolated_environment, and
configuration management tools reproduce_your stack_on an arbitrary platform.

But nobody_thinks of Docker_as a_configuration management tool,_and for the
most part I don't_think people even_think of Docker as a _competitor__to
configuration_management. Hell, Docker_is_a_core component_of many Puppet_CI
workflows.

So_there's something_else_going on here. What's the secret_sauce?_Is Docker
just two great things (config management_+ virtualization) glued together_so
cohesively_that it becomes greater_than the sum of its_parts?

------
d2xdy2
That's a very clever metaphor for_that aspect_of Docker._I hadn't considered
looking at it that way before.

------
williamsharkey
The author writes:

"Sometimes (unless_I am writing in Go) I_don't want to bundle_all my_code
together_into one giant_hulking_binary."

I am_unfamiliar with Go - can someone please_offer why_this technique might
especially desirable/feasible with Go?

~~~
agrover
Go_only supports static linking._No_dynamic linking means no linking issues
when_deploying the same binary across a_billion machines in the Googleplex.

------
glifchits
Is_"gerschnorvels"_really_a word in any language?

~~~
digi_owl
My_first though was that it was_some sort of_compound word.

------
leephillips
According to this article, Docker is_a_way to save your work