Programmering

12 open source-værktøjer, der gør Docker bedre

Blink, og du går måske glip af nogle af de mest interessante udviklinger omkring Docker i disse dage. Kubernetes får muligvis mere af det hot-new-tool torden, men Docker fortsætter med at tilbyde "lige nok" containerorkestrering til de fleste udviklingsprojekter og implementeringer.

Plus Docker har sit eget rige økosystem af tredjepartsværktøjer, der udvider Docker, jazz det op eller gør det mindre persnickety. Her er 12 open source kreationer, der får et boost fra Docker eller giver Docker et boost, der udnytter Docker til specifikke brugssager eller gør Docker lettere at arbejde med.

Dyk

Docker-billeder er som sandwich med mange lag. Måske er det bedre at sige, at de er som sandwich i uigennemsigtige indpakninger: Du ved ikke altid, hvor mange lag der er, eller hvad der er i dem. Dive giver dig mulighed for visuelt at udforske lagene i et Docker-billede gennem et interaktivt brugergrænseflade. Du kan se, hvilke ingredienser der findes i hvert lag, og også bestemme, hvordan hvert lag har ændret laget under det (hvad der er tilføjet eller fjernet). Du kan også analysere et billede for spildt eller duplikeret plads og endda videregive resultaterne til din kontinuerlige integrationsrørledning, så et billede med for meget spildt plads mislykkes i byggeprocessen.

Docker Compose UI

Docker Compose UI er et MIT-licenseret projekt, der giver Docker Compose et webbaseret UI, der er bygget ved hjælp af Pythons Flask framework. Containere kan køres lokalt eller på en ekstern vært, og selve Docker Compose UI er tilgængelig i en Docker-container for nemheds skyld. Bemærk, at nogle af demoprojekterne leveret med Docker Compose UI ikke kan skaleres "på grund af offentliggjorte havnekonflikter."

Dockly

Det meste Docker-arbejde udføres gennem en CLI- eller terminalgrænseflade, og standard Docker CLI ser meget ud som ethvert andet CLI-program. Dockly leverer en terminalgrænseflade på fuld skærm til Docker - et teksttilstands dashboard med alle kørende containere, en live visning af containerlogfiler og udnyttelsesstatistikker og en indbygget skalfane.

Støvet

Et Docker-drevet, MIT-licenseret udviklingsmiljø, Dusty er beregnet til at forbedre brugen af ​​Docker Compose eller Vagrant til styring af containere. Udviklerne bag Dusty hævder for eksempel, at Dusty har en enklere specifikationsmodel end Docker Compose, og at den håndterer versionbaseret isolering af appafhængigheder og opdateringer af tjenester bedre end Vagrant. Dusty tillader også, at der oprettes test som en del af en spec for et miljø og gør det muligt for almindelige flertrinsprocedurer at blive lavet til et let påkaldt script.

Elsy

Elsy beskrives som "et meningsfuldt, multi-sprog, build-værktøj" ved hjælp af Docker og Docker Compose. Elsy tillader, at et softwarelager bygges konsekvent på tværs af miljøer og holder det nødvendige værktøj til at udføre bygningen til et minimum, uanset hvilket sprog der bruges. En udråbt funktion,blackbox-test, tillader test af enhver bygget container på en måde, der afspejler dens faktiske produktionsanvendelse. For eksempel vil enhver tjeneste, der har brug for en database, have en database-container oprettet til den, og Elsy nedbryder automatisk testmiljøet bagefter.

Gockerize

Her er en til fans af Go-sproget. Gockerize er et BSD-licenseret værktøj til at opbygge statiske Go-binære filer og pakke dem i minimale Go-containere. Oprettet af folk bag AeroFS, inkluderer Gockerize funktioner som “muligheden for automatisk at anvende et sæt patches på Golang-standardbiblioteket; noget der, selvom det meget sjældent er nødvendigt, kan være en livredder, ”ifølge blogindlægget, der introducerede projektet. Gockerize stoler ikke meget på eksternt - kun Go, Docker 1.5 eller højere og Bash-shell.

Habitus

Et andet Docker-baseret build-værktøj, Habitus bruger en Dockerfile og en build.yml-fil til at oprette flertrins container-builds, der indeholder et vilkårligt antal vilkårlige kommandoer. Hvert trin i bygningen kan gøres til at stole på et tidligere trin for at sikre, at eventuelle vanskelige flertrinsafhængigheder fungerer korrekt. Habitus understøtter også inkludering af hemmeligheder i en byggeproces og gør det uden at efterlade spor i billedet.

Hyper

Faktureret som et ”hypervisor-agnostisk værktøj, der giver dig mulighed for at køre Docker-billeder på enhver hypervisor”, bruger Hyper Docker, QEMU og Xen til at nå sine mål. Værktøjets skabere hævder, at Hyper bruger minimale ressourcer (28MB), starter ved en containerhastighed snarere end en VM, leverer høj ydeevne og giver hardware-tvunget isolering til applikationer. En foreslået brugssag for Hyper er at oprette multi-lejer, Docker-baserede applikationer.

Kitematic

Nogle gange vil du bare have en GUI. Kitematic giver dig en GUI til styring af Docker-containere på MacOS, Ubuntu Linux og Windows. Yderligere Kitematic-bekvemmeligheder inkluderer automatisk eksponering af containervolumendata gennem filsystemet, levering af en indbygget CLI til Docker og automatisk synkronisering af dens tilstand for at matche ændringer til Docker (f.eks. Når du tilføjer nye containerbilleder).

Logudløb

Unix-verdenen har en lang tradition for at kombinere små programmer for at løse store problemer. Logspout anvender den samme filosofi til styring af logfiler fra Docker-containere. Logspout rør alle logs (stdout ogstderr, hovedsageligt) fra alle containere på en given vært til det mål, du finder bedst. De resulterende aggregerede logfiler kan ses i realtid ved blot at læse en HTTP-strøm.

Portainer

Selv en relativt enkel Docker-stak kan have mange bevægelige dele: containere, billeder, netværk, diskenheder, hemmeligheder. At holde styr på alt det i dit hoved er ingen løsning. Portainer leverer et web-brugergrænseflade til Docker-miljøer, uanset om det er enkeltværter eller klynger, der giver en enkeltrude-af-glas-visning af alt, hvad du kører. Ledelse og oversigt for alle almindelige Docker-komponenter er ikke mere end et par klik væk. Det bedste af alt er, at det hele er implementeret i din eksisterende Docker-infrastruktur som en enkelt container.

Whalebrew

MacOS-brugere burde være fortrolige med Homebrew, the ad hoc pakkehåndteringssystem til MacOS. Whalebrew lader dig installere Docker-billeder og køre dem direkte fra kommandolinjen ved hjælp af et alias, som om de var lokalt installerede eksekverbare filer. Installation af pakker er lige så let som at skrive hvalbryggerinstallation . Pakker kurateret gennem Whalebrews lager fungerer bedst, men teoretisk set skal ethvert Docker-billede, der tager CLI-kommandoer, fungere.