Kortlistan över Docker Hosting
Observera att detta inlägg har uppdaterats från och med 20 oktober 2016.
vi vet alla att Docker är enkelt att komma igång på våra lokala maskiner. Men sömlöst övergång våra finslipat ansökan stackar från utveckling till produktion var en pusselbit saknas tills de senaste sex till tolv månader.
nu finns det så många specialiserade och optimerade Docker-värdtjänster tillgängliga, det är hög tid för en recension att se vad som erbjuds.
en av komplexiteten med att jämföra Docker hosting-alternativ är att många erbjuder hanterings-och orkestreringsverktyg ovanpå faktiska webbhotell. Inte alla gör det klart vilken leverantör de använder, när eller var, och det kan eller inte vara en viktig fråga för dig. Av den anledningen har jag inte inkluderat tjänster som Deis Workflow, Docker Cloud eller ContainerShip eftersom de inte hävdar att de är eller erbjuder integrerade värdtjänster.
även om jag kommer att inkludera tjänster som värd någon annanstans, dessa kostnader ingår i priset.
naturligtvis är det möjligt att bara installera Docker på en Linux-baserad VM på alla webbhotell, och jag kunde producera sidor med profiler av “standard” webbhotell. Istället har jag försökt fokusera på tjänster som erbjuder något annat utöver enkel hosting för att göra din Docker-upplevelse mjukare och förbättrad.
Docker Machine
för många webbhotell är det enklaste sättet att distribuera och hantera dina behållare via Docker Machine drivers. Om inte dessa värdar erbjuder något extra ovanpå föraren, kommer jag inte att lista dem separat. För närvarande inkluderar dessa:
-
Amazon Web Services
-
Microsoft Azure
-
Digital Ocean
-
Exoscale
-
Google Compute Engine
-
OpenStack
-
Rackspace
-
IBM Softlayer
fler kommer sannolikt att följa snart, och du kanske kan använda den generiska drivrutinen för andra värdar.
Amazon Web Services (AWS)
AWS är den största molnhotelltjänsten på planeten och erbjuder stöd för Docker över de flesta av sina vanliga EC2-maskiner.
AWS erbjuder sedan EC2 container service (ECS) som exponerar en uppsättning API-anrop för hantering av containrar installerade i dina EC2-instanser. ECS debiteras inte separat, men det sitter ovanpå alla andra AWS-resurser som dina behållare använder. Detta innebär att containrar har tillgång till det stora utbudet av tjänster som AWS erbjuder, inklusive lagring och skalning.
aws.amazon.com/ecs
Digital Ocean
Docker container support på Digital Ocean är enkelt, vilket återspeglar hur företaget i allmänhet fungerar. Logga in på ditt konto och skapa en ny droppe baserat på Docker-applikationen.
detta kommer att skapa en VM som kör Docker ovanpå Ubuntu för att använda som vanligt.
digitalocean.com/community/tutorials/how-to-use-the-digitalocean-docker-application
Carina
Rackspace erbjuder en Docker-Maskindrivrutin, men den har också en containerhostingtjänst. Carina är fortfarande i offentlig beta och låter dig skapa Docker Swarm-liknande kluster. Det gör det också möjligt för dig att hantera dina behållare från utveckling till produktion genom att använda mestadels vanliga Docker-kommandon. Exempelvis:
carina create chriscluster --wait --nodes=3 --autoscale
det finns också en webbkonsol tillgänglig för hantering av dina behållare och applikationer.
getcarina.com
Sloppy.io
Sloppy.io ger CLI-verktyg, webbgränssnitt, ihållande Lagring mellan containerlanseringar och statistik. Du konstruerar applikations stackar genom en JSON-fil, och tack vare den underliggande mesos integration, slarvig låter dig ställa maskinspecifikationer. Till exempel:
{ "project": "chrisexample", "services": , "env": { "LCB_DATABASE_URI": "mongodb://mongodb.backend.chrisexample/chrisexample" }, "dependencies": } ] }, { "id": "backend", "apps": } ] } ]}
sloppy.io.
Giant Swarm
Detta är en ny start som gillar att hålla det enkelt och fokusera på att ge en solid produkt och support. Giant Swarm använder inte virtuella maskiner och kommer bara att distribuera dina containrar och tjänster till privata AWS-maskiner och deras egna bare metal-tjänster.
exakt prissättning är lite oklart, och tjänsten är bara inbjuden just nu, men de är öppna om sin infrastruktur, med flera anpassade komponenter tillgängliga på GitHub. Installationen sker via ett kommandoradsverktyg, med applikationer definierade av en JSON-fil som liknar en Docker Compose-fil. Exempelvis:
{ "name": "chris-app", "components": { "front-end": { "image": "registry.giantswarm.io/chrischinchilla/front-end", "ports": 8000, "domains": { "8000": "chris-app.com" }, "links": }, "redis": { "image": "redis:2.6", "ports": 6379 } }}
bilder kan vara från Docker Hub, liksom anpassade bilder från ditt konto på Giant Swarm registry.
starta din ansökan med ett enkelt kommando som kan skicka en mängd olika parametrar till JSON-filen.
swarm up --var=domain=chrisapp-chrischinchilla.gigantic.io
ett API är tillgängligt för mer finkornig kontroll av dina tjänster, och medarbetare kan organiseras i team för att möjliggöra samarbete.
jättevarm.Io
Google Compute Engine (GCE)
Kubernetes stöder Googles containerhosting och hanteringstjänst, deras eget open source-projekt som driver många stora containerbaserade infrastrukturer. Behållarna sitter ovanpå Googles egen webbhotell, en av de mest pålitliga molnhotelltjänsterna som finns tillgängliga. GCE tillhandahåller ett containerregister och (i beta) en Byggtjänst som skapar Docker-bilder från kod som finns i Googles moln.
https://cloud.google.com/compute/
https://js.hscta.net/cta/current.js
hbspt.cta.belastning (1169977, ’96e4df76-0d4a-40AB-b51e-5ad2b46a426b’, {});
Microsoft Azure
medan AWS vävstolar över alla andra molnleverantörer, Azure är faktiskt den näst mest populära. Backas upp av ett stort företag, det kommer inte någonstans någon gång snart och är din bästa källa till Windows-baserade VM. Förutom en Docker-maskindrivrutin finns förbyggda VM-tillägg också tillgängliga.
Azure är en officiell Docker-betrodd registerpartner, antingen genom sin egen VM-bild eller genom att installera dig själv.
https://azure.microsoft.com/en-us/
Heroku
det mesta av Heroku arbetsflöde utlöses av git push
kommandon. Dessa är fortfarande möjliga med en Docker-inställning, men ett alternativ är tillgängligt via ett Docker Compose-plugin för att driva dina containeriserade applikationer direkt till tjänsten. Heroku upprätthåller också Docker-bilder för de flesta språk som den stöder.
https://devcenter.heroku.com/articles/docker
Quay
Quay erbjuder containerhosting tätt integrerad med den befintliga Docker-verktygssatsen. Du loggar in i Quays register via Docker-kommandot och hanterar containrar i ditt konto.
docker login quay.io
Quay kommer att arbeta med många vanliga utvecklingsverktyg för att möjliggöra helautomatiska arbetsflöden, har CLI och webbverktyg tillgängliga för att hantera dina containerdistributioner, samt loggning och samarbetsverktyg.
om du behöver Kubernetes för att hantera och orkestrera dina containrar, har Quay en partnertjänst som heter Tectonic. Quay och Tectonic är byggda av CoreOS-teamet, så du kan också använda dem för att vara värd för och hantera rkt-Behållare. I själva verket fungerar Tectonic bara med rkt behållare, men jag trodde att jag skulle smyga ett omnämnande i.
https://quay.io/
Hyper
Hyper har ett enkelt förslag: att tillhandahålla en lokal kommandoradsabstraktion för att köra Docker-behållare på hypers värd (leverantör och plats är ospecificerad). Verktyget är lätt att använda, men installationsstegen är lite vilseledande.
om du försöker följa instruktionerna på hemsidan kommer du snabbt att upptäcka att du faktiskt måste registrera dig och få en autentiseringstoken först. Detta innebär att ge Hyper dina kreditkortsuppgifter även om allt du tänker göra är att testa plattformen. När du kör hyper config
och dessa steg är klara, är processen enkel.
i den här första bilden pull
NGINX-bilden och kontrollerar sedan att den har dragits med images
.
med kommandoradsverktyget kan du starta och länka tjänster och bifoga datavolymer och IP-adresser till dem. De flesta av hypers kommandon är omslag runt bekanta Docker-kommandon, vilket ger dig tillgång till en solid värdleverantör. Om du känner Docker vet du hur du använder Hyper.
https://www.hyper.sh/
Dokkur
med behållare som finns på Azure infrastructure hanterar Dokkur dina behållare från en applikationsnivå, så att du kan välja dina applikationer från GitHub eller skapa en ny applikation. Såvitt jag kan berätta från deras dokumentation använder den behållare för att separera dina applikationer i kod, databas och ihållande lagring, men det finns inget direkt Docker-stöd eller kontroll.
https://dokkur.com/
Triton från Joyent
Triton erbjuder en omfattande uppsättning tjänster för att skapa, köra och orkestrera Behållare över moln-och metallservrar. Jag nämnde i introduktionen att jag inte skulle inkludera tjänster som bara orkestrerade värdalternativ, men Triton erbjuder också sin egen värdlösning (Triton cloud), så jag kommer att fokusera på det.
med några få klick ger Triton dig ett omfattande grafiskt gränssnitt för att starta och hantera bilder och behållare från Docker Hub eller dina egna bildförråd. Du kan skapa överlagringsnätverk, lägga till beständig lagring och lägga till felsökningsjobb. Med API-åtkomst till all funktionalitet, ett CLI-verktyg och djup integration med Docker, HashiCorp Terraform och andra verktyg från Joyent är Triton en strömanvändares dröm.
https://www.joyent.com/triton
IBM Bluemix
som standard inkluderar Bluemix inte containerbilder på Docker Hub. Detta är förvirrande eftersom initialt du bara har tillgång till fem ‘certifierade’ Behållare. Du kan kopiera offentliga Docker-bilder till ditt Bluemix-konto, men det innebär att du först installerar en serie CLI-verktyg och navigerar i Bluemix förvirrande dokumentation.
jag kämpade för att få detta att fungera, så istället experimenterade jag med en av IBMs egna behållare för att se vad som är möjligt. Detta orsakade också ett ‘okänt fel’. Om du kan få Bluemix att fungera har den kraftfulla integrationsalternativ tillgängliga med IBMs IoT-och maskininlärningserbjudanden, men det är inte för de oerfarna.
http://www.ibm.com/cloud-computing/bluemix/
Openshift
en annan lösning som riktar sig direkt till företagskunder, Red Hat ‘s Openshift kan installeras själv eller i Red Hat’ s cloud. Du kan inte prova eller experimentera med Openshift utan att kontakta en försäljningsrepresentant, så jag kunde inte prova tjänsten, men den erbjuder många support-och infrastrukturfunktioner som kommer att tilltala storskaliga företagsanvändare.