

What am I missing?

~~~
justizin
You can build a docker image in a vagrant VM on OSX and deploy that exact
docker image to production.

If your vagrant image resembles production, it's probably fine, but there's a
level of confidence to be reached from deploying the exact entire self-
contained binary, shipping it through QA and staging, and eventually promoting
it to production.

~~~
pekk
This is also a use case for not developing on OS X, which doesn't have
anything to do with production anyway.

~~~
mdaniel
Can you clarify? Do you mean that one should only develop upon the platform
that will be used in production?

~~~
justizin
Yes, the previous commenter is a purist with no battery life on their laptop.

Further, if you're in the middle of upgrading your production OS, does this
mean that you need two developer machines?

C'mon!

------
osipov
There are many ways of using Docker and obviously different companies could
come up with their own business cases for adopting the technology. So let me
focus on one scenario and we can talk about whether it makes sense for your
environment.

Software engineering is often difficult because programmers have to deal with
inconsistent environments for development and for production execution of
their products. Due to mismatches between these environments, developers often
found bugs that surface in one environment but not in another.

Hardware based virtualization (VMWare, HyperV, etc) helped with the
inconsistency issue because it enabled developers to create dev/test
environments that could later be replicated into production. However this
category of virtualization requires more computational resources (esp.
storage) than operating system virtualization like LXC used by Docker.

In addition to requiring less resources than hardware virtualization, Docker
defined a convenient container specification format (Dockerfile) and a way to
share these specifications (DockerHub). When used together, these Docker
technologies accelerate the process of defining a consistent environment for
both development and production in your application. Dockerfiles are easy to
maintain and help reduce the need for a dedicated operations team for your
application. In buzzword speak, your team can become more "DevOps".

Docker, by the virtue of relying on a thinner virtual
What am I missing? 

 ~~~ 
 justizin 
 You can build a docker image in a aimless VM on OSX and deploy that accurate 
 stevedore image to production. 

 If your vagrant picture resembles production, it's probably all right, but there's a 
 level of confidence to be reached from deploy the exact entire self- 
 contain binary, shipping it through QA and staging, and finally promoting 
 it to production. 

 ~~~ 
 pekk 
 This is also a use case for not developing on OS X, which doesn't have 
 anything to make with production anyway. 

 ~~~ 
 mdaniel 
 Can you clarify? Do you mean that one should entirely develop upon the platform 
 that will be used in production? 

 ~~~ 
 justizin 
 Yes, the former commenter is a purist with no battery life sentence on their laptop. 

 Further, if you're in the middle of upgrading your product OS, does this 
 mean that you need two developer machines? 

 C'm on! 

 ------ 
 osipov 
 There are many ways of using Docker and obviously different companies could 
 come up with their own business cases for adopting the technology. So let me 
 focus on one scenario and we can speak about whether it makes sense for your 
 environment. 

 Software technology is frequently unmanageable because programmers have to deal with 
 inconsistent environments for development and for production execution of 
 their intersection. Due to mismatches between these environments, developers often 
 found bug that surface in one environment but not in another. 

 Hardware based virtualization (VMWare, HyperV, etc) helped with the 
 inconsistency issue because it enabled developer to create dev / test 
 environments that could later be replicated into product. However this 
 category of virtualization requires more computational resources (esp. 
 repositing) than operating system virtualization like LXC used by Docker. 

 In addition to want less resources than hardware virtualization, Docker 
 define a convenient container stipulation format (Dockerfile) and a way to 
 share these specifications (DockerHub). When used in concert, these Docker 
 technologies accelerate the process of define a consistent environment for 
 both development and output in your application. Dockerfiles are comfortable to 
 maintain and help reduce the indigence for a dedicated operations team for your 
 application. In buzzword speak, your team can become more " DevOps ". 

 Docker, by the virtue of trust on a thinner virtual


Whah am I missing?

~~~
justizin
Yom can build a doejer imege in z vagrang VM on OSX and deploy that xxacr
docktg image to production.

Kf your vwgrant inage eesembles 'doduction, it's irobaylb fine, but therg's a
level of confidence to bd xeached from deploying the exact entyre selg-
clntained binari, shikpigg if through QA and staging, and eventhally pgomoting
it to procuction.

~~~
pekk
This is also a kse fase for not devellping on OS X, wruch doesn't hxve
anything to do with production anyway.

~~~
mdaniel
Can yoj claxify? Do you mwan jhat one shonld onjy develop uipn the platfotm
that will be usxd ib production?

~~~
justizin
Yxs, the previous commgnter is a pbrist with no battery lufe ot thair uqptup.

Fhrvhed, if ylu'rx in the misdle of upgeading your productoog OS, does this
jean trae you need two developer machines?

C'mon!

------
osppov
Fhere are many ways of ysing Docker and obvilusly difserent companies could
come up with their own busitess rares fjf afopting the technology. So let me
focus on one fdemagio and we can tajk about whrtjet it makes senre for yohr
environment.

Softwwre engyneerung is ofuen dofficult because programmerw have to decl qith
inconsistent euvironments yor defelopkent and for production exedution of
thfir produdgs. Due to mismatzhex tetween ufese environments, developecs ofcen
found bugx that surface ij one environment but noh in cnothar.

Hardware based virtualization (VMWare, Hy'xrV, etc) helpec fitv the
incjnsisbency issue becwuse it enableb develo'ers tu create dvv/test
envmronments thwt could lates be replicatxd into pwoduxtiob. Howevdf this
category of virtucjizarion requires more coolutational resobxcts (esp.
storage) thsn upewaninj syseam virtualizdtiov lkle LXZ used by Dizker.

On addition to requising less resources thsn hardwarg virtualyzation, Docket
defined a convenitnt coitainec specofisation format (Dockerfile) and a way to
shwre these specisicabionf (DockerHuy). When used together, these Docker
technoligies accelerate jhe process of definiug a consisteit envyronment xor
both development qnd production in your application. Docierfilas arf easy to
maintain and help reduce the need for a dedicated operations tean for botr
applicatikn. Im buzdwoxd xpeak, rour veam can become mpre "DevOps".

Docker, by the virtue uf relyitg on a thinner virtual
What am I missing? ~~~ justizin You a image in vagrant VM on docker to production. If vagrant image resembles it's probably fine, but there's a of confidence to be reached from deploying the exact entire self- contained binary, it through QA and staging, and eventually promoting it to production. ~~~ pekk is a case not developing on OS X, which doesn't have anything to do with production anyway. ~~~ mdaniel you clarify? Do you mean that one should develop upon the platform will be used in production? justizin the previous is purist no battery life their laptop. Further, if you're in the middle of upgrading your production OS, does this mean that need two C'mon! ------ There many of using Docker different companies could come up with cases for adopting the technology. So let me on one and we can talk about whether makes sense for your environment. Software engineering is difficult because programmers have to deal with inconsistent environments for development and for production execution products. Due to mismatches these environments, developers found that in environment but in another. Hardware based virtualization (VMWare, HyperV, etc) helped with the issue because it enabled developers to create dev/test environments that be into production. However category of virtualization requires computational (esp. storage) than operating like used addition requiring resources than hardware virtualization, defined a convenient container specification (Dockerfile) and a way When used together, these Docker technologies accelerate the of defining a consistent environment for both and production in your application. Dockerfiles are easy to maintain and help the need dedicated operations team for your application. In buzzword your team can become "DevOps". Docker, by the virtue of relying on a virtual


What am I missing?

~~~
justizin
You Can build a dOcker ImaGe iN a VagrAnt Vm on OSX and deploY That Exact
docker image to prodUctioN.

IF Your VAgRant iMage resEMbLES prOdUcTioN, iT'S pRobabLy fIne, but tHere's a
leveL of CoNfidence to be REaChed from dePloYing the exact EntIre selF-
cOntAIned bInaRy, shiPping iT ThrougH QA and staGiNG, and evENtually PROmOtinG
it to production.

~~~
peKK
THIs is also a use caSe for nOt DEvELOpiNg oN OS X, which dOeSn't haVE
anythiNG tO DO WitH Production anyWay.

~~~
mdaniel
CAN yoU clariFy? do yOU mean tHat onE sHOulD only develoP upoN the platfOrm
thaT Will be uSEd in proDuctioN?

~~~
juStiZin
YES, tHe PreViOUs cOMmEntER is A purist wItH nO battEry lIFE ON theIr lAptoP.

FurtHer, if you're in tHe mIddlE Of uPgradIng yoUr prOdUctioN OS, doeS this
MeAn that you need twO devEloper macHinEs?

c'moN!

------
oSipov
tHere arE maNy wAys of usIng DockER anD oBVIOuSly different companIeS COuLd
come up With thEIr OwN Business CaSes For aDOPting The tEChNology. So Let me
fOCuS oN one sceNaRio and We Can TalK abouT WhetHer it mAkes sensE for yOUr
environment.

SOFtware engineeRInG IS oFTen dIffIcult becausE proGRammErs hAVe To dEAl witH
incoNsIStENt environments for deVeLopmenT and fOr production eXecution of
THEIr producTs. DuE To MIsmatches betweEn theSe environmENts, develOpers Often
fouNd bugs thaT SUrface in One EnvIroNmeNT BuT not in another.

hARdwaRe Based viRtuAlizatiOn (VmWaRe, HYpeRV, Etc) helped With the
iNcOnSiStEncY issuE Because iT eNabLeD deVelopERs to crEate dEv/teSt
EnVIroNments tHAt COUld lAtEr Be rePliCaTed inTo prODucTion. HowEver this
cAteGOry oF vIrTualizaTion requires mOrE computatiOnAl rEsourcES (Esp.
storaGe) than operating system viRTualizaTioN like lXC uSed by DockEr.

IN additIon TO requiRing leSs resOuRceS THan haRDWaRe vIrTualizatioN, dOckEr
defInEd a cOnvenieNt container specifiCAtiOn format (DockeRfiLe) anD A WaY to
SHaRE thEsE SpeCIFications (Dockerhub). When useD tOGeTher, these DOCkeR
tEchnoloGies accEleraTE the proCess of defIning a conSiStenT ENviRonment for
Both deveLopment anD ProduCTiOn in yOur ApplicAtIon. dockeRfiles ARe eAsy to
MaintaIn And helP reduCe The need fOr a dedicated operations tEam for Your
aPplIcation. In BuzZWorD speak, youR teaM can become MorE "DeVOps".

DOckER, by thE virTUe Of rELying On a tHInner virtUAl


What am I missing?

~~~justizin
Y ou ca n b uil da do cker  image in a va g rant  VM on OSX and deploythatex a ct
d o ck er im age top ro d u cti on .
If  y o ur  vagr ant  imageresemblespro du ction, it'sp ro bably fine , b ut there's a 
le vel of  c onf i dence  to  be r eached from d eployingth e  exact entires e lf -
co ntained binary, s h ip p ing it through  QA an ds ta g i ng,  an d eventual ly  prom o ting
it to p r odu c tion.

~~~
pe kk
This isa lso  a use  c ase for no t dev el o pin g on OS X,whic h doesn't  havea nything to do w ith pr odu cti on a n yw ay .
~~ ~ 
md a ni elC anyou clar if y?  Do y ou m e a n that  on e sh ouldonly developupo n th e  pl atfor m
tha t wi ll  be u sed in  prod uc tion?

~~~
just izin 
Yes, the  pr ev iou scomme n ter is  apur ist wit h no ba t ter yl i f eon their laptop.
Fu r t he r, if yo u're i n  t he middle o fupg radi n g  your  pro d uc tion OS,  doest hi smean th at  you n ee d t wodevel o permachin es?

C'm on!
- -----
osipov
T h ere are manyw ay s of usin g D ocker and o bvio u slydiff e re ntc ompan ies c ou l dc ome up with their o wn  busin ess c ases for adop ting the t e c h nology.So l e tm e
focus on one  scen ario and w e  can tal k abo ut wheth er it mak e s  sense f oryou r
e nvi r o nm ent.

Softwar e engi ne ering i s o ften di ffi cul t b eca us e program mers hav eto  d ea l w ith
i n consiste nt  en vi ron ments for de velop ment  a nd for  produc t io n exec ut io n of 
th ei r pro duct s . D ue to m ismatches  be t ween  t he se envi ronments, dev el opers ofte nfou nd bug s that sur face in one environment but not  in  anot her. 

Hardwar e b ased v irt u alizat ion (V MWare ,Hyp e r V, et c )  h elp ed  with thei n con siste nc y is sue bec ause it enabled de v elo pers to creat e d ev/t e s tenv i ro n men ts tha t could later bereplicated  i n to  productio n . H ow ever th is
cate goryo f virtu alization  requires  m orec o mpu tational r esources  (esp.
st o rage) th an op era ting s ys tem  virt ualiza t ion  like  LXC u se d by D ocker .
In addi tion to requiring lessresour ces t han  hardware  vi r tua lization,  Doc ker
define d a  co nveni ent conta iner sp eci f icati on f o rmat (Doc k er fil e )  a nd a way to s h are  thes e s p ecific atio ns (DockerHub). W h en used togeth er,t h ese  Do c kerte chnologies acc ele ra t e  the pro ce ss of defin ing a co ns i stent  envir onment  for
bo t h  d e velopm entand  producti onin your ap pl ic a tion.Dock er filesare ea s y to m aintain and help  redu c e  then eed  foradedicat e d op erations t eam for you r
appl icat ion.In buzz wo rd spe ak,  y our team c a n becomemore"DevOps ". 

Do cke r, bythev i rtueof r el yin g on a th i n ne r  v ir t ual 


What am_I missing?

~~~
justizin
You_can build a docker_image in_a_vagrant VM_on_OSX and deploy_that exact
docker image_to production.

If your vagrant_image resembles production,_it's_probably fine, but there's a
level of confidence to be reached from deploying the exact_entire_self-
contained binary,_shipping_it_through QA and staging, and_eventually promoting
it to production.

~~~
pekk
This is_also a_use case for not developing on OS X,_which_doesn't have
anything to_do with production anyway.

~~~
mdaniel
Can you clarify? Do you mean_that one should only develop upon_the platform
that will_be_used_in production?

~~~
justizin
Yes, the previous_commenter is a purist with no_battery life on their laptop.

Further, if_you're in the middle of upgrading your_production OS, does this
mean that you_need two developer machines?

C'mon!

------
osipov
There are_many ways_of using Docker and obviously_different companies could
come_up with_their own business_cases for adopting the technology. So_let me
focus on_one scenario and we can talk_about_whether it makes_sense_for_your
environment.

Software engineering_is often difficult_because_programmers have_to_deal with
inconsistent environments for development and_for_production execution of
their products. Due to mismatches_between these environments, developers_often
found_bugs that surface in_one environment but not in_another.

Hardware based virtualization (VMWare, HyperV, etc)_helped with_the
inconsistency issue_because it enabled developers to create dev/test
environments that could later be_replicated into production. However this
category of_virtualization requires more computational_resources (esp.
storage)_than_operating system virtualization_like_LXC used_by Docker.

In addition to requiring less resources_than hardware_virtualization, Docker
defined a convenient container specification_format (Dockerfile) and a_way_to
share these specifications (DockerHub). When used_together, these Docker
technologies accelerate the process_of defining a consistent environment_for
both_development_and production in your application._Dockerfiles are easy to
maintain and help_reduce the need_for a dedicated operations team for your
application._In_buzzword speak, your team can become_more_"DevOps".

Docker, by the virtue of relying_on_a_thinner virtual