Video: Docker?!?! But I'm a SysAdmin (November 2024)
Docker is een open-sourceplatform voor het bouwen, beheren en uitvoeren van applicaties in virtuele containers op Linux-servers. Deze containers zijn virtuele ruimtes gemaakt met OS-virtualisatie binnen de Linux-kernel waar bronnen worden geïsoleerd. Ze verschillen van PaaS-services zoals Microsoft Azure of Amazon EC2, die virtuele servers bieden die serverinstances worden genoemd. Beschouw Docker als een manier om in plaats daarvan gebruikersinstanties te leveren.
Vanwege deze geïsoleerde containers stelt Docker ontwikkelaars en systeembeheerders in staat om snel presterende, centraal beheerde en veilige gedistribueerde applicaties te leveren. Prestaties, beweren velen, zijn zelfs nog wendbaarder en lichter dan bij virtuele servers. Het open-source communityproject trekt open source-fans aan, evenals grote technologiebedrijven zoals Red Hat, Microsoft en Rackspace, die allemaal plannen hebben aangekondigd of al een vorm van interoperabiliteit tussen Docker en hun aanbod hebben uitgerold.
Systeembeheerders, met name degenen die het grootste deel van hun carrière hebben besteed aan het beheren van kleine tot middelgrote Windows-infrastructuren, kunnen het moeilijk vinden om precies te begrijpen wat Docker voor hen kan doen en de systemen die zij beheren. Dus spraken we met een ervaren systeembeheerder die ook een enthousiaste Docker-gebruiker is, Kelsey Hightower, een consultant die met verschillende startups werkt, zoals CoreOS, die een product op basis van Docker verzendt.
PCMag: Hoe gebruiken u en uw organisatie momenteel Docker?
Hightower: Docker is ingebouwd in het besturingssysteem en is de primaire methode voor het uitvoeren van applicaties. Er is geen pakketbeheerder of lokale runtimes - geen Java, Python, Ruby of Perl. We helpen Platform-as-a-Service-providers bij het bouwen van hun Docker-gebaseerde aanbiedingen. CoreOS biedt extra tools om Docker-containers te helpen beheren.
PCMag: kunt u een paar "echte wereld" use cases voor Docker bieden?
Hightower: de meeste bedrijven gebruiken Docker als vervanging voor het verpakken van complexe applicaties. Als u bijvoorbeeld een Java-toepassing hebt, hebt u een JVM nodig, en hoogstwaarschijnlijk een toepassingscontainer, waarvoor verschillende versies van de JVM en Tomcat vereist zijn. Om dingen te vereenvoudigen, wordt Docker gebruikt om een container te maken met de juiste versie van Java, Tomcat en andere afhankelijkheden van applicaties. Geen conflicten meer!
Docker wordt gebruikt voor geautomatiseerd testen en CI (continue integratie). Linux-containers (beheerd door Docker) zijn veel sneller te bouwen en te starten dan hun VM-tegenhangers. In de testomgevingen lanceren we nu databases, berichtenmakelaars en andere services waarvan onze applicaties afhankelijk zijn voordat we integratietests uitvoeren. Dit verbetert de kwaliteit van testen zoals we nu testen tegen het echte werk.
Docker maakt het eenvoudig om productie-achtige ontwikkelomgevingen op te zetten. Op een enkele Docker-host kunnen mijn ontwikkelaars gemakkelijk alle componenten draaien die in productie draaien, inclusief een database, caching-servers, enz. Net als bij testen met Docker, verbetert de kwaliteit van de ontwikkeling door toegang tot een echte omgeving om tegen te ontwikkelen. Omdat ik veel containers op een enkele virtuele machine kan draaien, kan ik elke ontwikkelaar zijn eigen omgeving geven.
PCMag: Hoe steil denk je dat de leercurve is voor systeembeheerders die niet veel coderen of de opdrachtregel gebruiken?
Hightower: als u op een hoog niveau een Windows- of UNIX-service vanaf de opdrachtregel kunt starten en stoppen, hebt u voldoende basis om Docker te gaan gebruiken.
Maar moet Docker nog eens nader bekijken als een hulpmiddel voor het bouwen en delen van Linux-containers en voor het beheer ervan.
Tips en hints
Hightower bood ook enkele tips en tips voor systeembeheerders om aan de slag te gaan met Docker:
Een Linux-container maken met Docker:
Vaardigheidsniveau: Gemiddeld. Moet ervaring hebben met het bouwen van softwarepakketten zoals Linux RPM's, MSI's of eenvoudige applicatiebundels zoals zip- en tar-bestanden.
Tip: het maken van een Linux-container met Docker is vrij eenvoudig. Het enige dat u nodig hebt, is een werkende Docker-installatie en een Dockerbestand - een tekstdocument met alle opdrachten die u normaal gesproken handmatig zou uitvoeren om een Docker-afbeelding te maken.
Een Linux-container beheren met Docker:
Vaardigheidsniveau: Beginner.
Tip: het Docker-opdrachtregelprogramma is de meest populaire manier om Linux-containers te distribueren, starten en stoppen. De meeste systeembeheerders die vertrouwd zijn met het gebruik van de opdrachtregel, zullen geen problemen hebben met Docker's CLI. De grote vangst hier is dat de Docker-daemon niet native op Windows of Mac OS X draait - een Docker-host met Linux is vereist. De meeste mensen kiezen ervoor om de Docker-host uit te voeren in een lokale VM met Boot2Docker of in de cloud (met EC2, Google Computer, etc.) Hightower zei: "Ik voer CoreOS persoonlijk uit op VMware Fusion op mijn Mac. Ik ben actief in 5 minuten. Zodra de Docker-host is geïnstalleerd, werken de Docker CLI-tools prima op Windows en Linux."
Hightower adviseert ook dat nu Docker 1.0 uit is, we waarschijnlijk meer op GUI gebaseerde tools beschikbaar zullen zien komen. Hij beveelt ook aan om Tutum.co te bekijken, een gehoste Docker-oplossing die het werken met Docker-containers naadloos maakt.