Anonim
333

Docker är en open source-plattform för att bygga, hantera och köra applikationer i virtuella containrar på Linux-servrar. Dessa containrar är virtuella utrymmen skapade med OS-virtualisering i Linux-kärnan där resurser är isolerade. De skiljer sig från PaaS-tjänster som Microsoft Azure eller Amazon EC2, som erbjuder virtuella servrar som kallas serverinstanser. Tänk på Docker som ett sätt att leverera användarinstanser istället.

På grund av dessa isolerade containrar tillåter Docker utvecklare och systemadministratörer att leverera snabbpresterande, centralt hanterade och säkra distribuerade applikationer. Prestanda, hävdar många, är ännu mer smidig och lätt än med virtuella servrar. Projektet med öppen källkod lockar till sig öppen källkod fans och stora teknikföretag som Red Hat, Microsoft och Rackspace, som alla har meddelat planer eller redan har lanserat någon form av driftskompatibilitet mellan Docker och deras erbjudanden.

Systemadministratörer, särskilt de som tillbringade större delen av sin karriär på att hantera små till medelstora Windows-infrastrukturer, kan ha svårt att förstå exakt vad Docker kan göra för dem och de system de hanterar. Så vi talade med en erfaren systemadministratör som också är en entusiastisk Docker-användare, Kelsey Hightower, en konsult som arbetar med en mängd olika startups som CoreOS, som skickar en produkt baserad på Docker.

PCMag: Hur använder du och din organisation för närvarande Docker?

Hightower: [At CoreOS] Docker är inbyggt i operativsystemet och är den primära metoden för att köra applikationer. Det finns ingen pakethanterare eller lokal driftstid - ingen Java, Python, Ruby eller Perl. Vi hjälper Platform-as-a-Service-leverantörer att bygga sina Docker-baserade erbjudanden. CoreOS [also] tillhandahåller ytterligare verktyg för att hantera Docker-containrar.

PCMag: Kan du tillhandahålla några "verkliga" användningsfall för Docker?

Hightower: De flesta företag använder Docker som en ersättning för komplexa applikationsförpackningar. Om du till exempel har en Java-applikation behöver du en JVM, och troligen en applikationsbehållare, som kräver olika versioner av JVM och Tomcat. För att förenkla saker används Docker för att skapa en behållare med rätt version av Java, Tomcat och andra applikationsberoenden. Inga fler konflikter!

Docker används [även] för automatiserad testning och CI (Continuous Integration). Linux-containrar (hanteras av Docker) är mycket snabbare att bygga och lansera än deras VM-motsvarigheter. I testmiljöerna lanserar vi nu databaser, meddelandemäklare och andra tjänster som våra applikationer är beroende av innan vi kör integrationstester. Detta förbättrar kvaliteten på testningen eftersom vi nu testar mot den verkliga saken.

Docker gör det enkelt att skapa produktionsliknande utvecklingsmiljöer. På en enda Docker-värd kan mina utvecklare enkelt spinna upp alla komponenter som körs i produktionen, inklusive en databas, cachningsservrar, etc. I likhet med testning med Docker förbättras kvaliteten på utvecklingen på grund av tillgång till en verklig miljö att utvecklas mot. [Med] förmågan att köra många containrar på en enda virtuell maskin kan jag ge varje utvecklare sin egen miljö.

PCMag: Hur brant tror du att inlärningskurvan är för sys-administratörer som inte kodar eller använder kommandoraden mycket?

Hightower: På en hög nivå, om du kan starta och stoppa en Windows- eller UNIX-tjänst från kommandoraden, har du tillräckligt med en grund för att börja använda Docker.

Men [sys admins] måste fortfarande ta en djupare titt på Docker som ett verktyg för att bygga och dela Linux-containrar och för att hantera dem.

Tips och tips
Hightower erbjöd också några tips och tips för systemadministratörer om att komma igång med Docker:

Skapa en Linux-container med Docker:
Färdighetsnivå: mellanliggande. Bör ha erfarenhet av att bygga programvarupaket som Linux RPM, MSI eller enkla applikationsbuntar som zip- och tar-filer.

Tips: Att skapa en Linux-container med Docker är ganska enkelt. Allt du behöver är en fungerande Docker-installation och en Dockerfile - som är ett textdokument som innehåller alla kommandon som du normalt skulle utföra manuellt för att skapa en Docker-bild.

Hantera en Linux-behållare med Docker:
Färdighetsnivå: nybörjare.

Tips: Docker-kommandoradsverktyget är det mest populära sättet att distribuera, starta och stoppa Linux-containrar. De flesta sys-administratörer som är bekväma med att använda kommandoraden har inga problem med Dockers CLI. Den stora fångsten här är att Docker-demon inte körs ursprungligen på Windows eller Mac OS X - en Docker-värd som kör Linux krävs. De flesta väljer att köra Docker-värden i en lokal VM med hjälp av Boot2Docker, eller i molnet (med EC2, Google Computer, etc.) Hightower sa: "Jag personligen kör CoreOS på VMware Fusion på min Mac. Jag är igång på 5 minuter. När Docker-värden är på plats fungerar Docker CLI-verktygen bra på Windows och Linux. "

Hightower rekommenderar också att nu när Docker 1.0 är ute kommer vi sannolikt att se fler GUI-baserade verktyg tillgängliga. Han rekommenderar också att titta på Tutum.co, en värd Docker-lösning som gör att arbeta med Docker-containrar sömlöst.