Docker - Lett Virtualization Med Linux Containers

Hva er Docker
Fra Docker nettstedet, etter

Docker er en åpen plattform for utvikling, shipping, og kjører applikasjoner. Docker er designet for å levere applikasjoner raskere. Med Docker kan du skille applikasjonene fra infrastrukturen og behandle infrastrukturen som en administrert søknad. Docker hjelper du sender kode raskere, test raskere, distribuere raskere, og forkorte syklusen mellom å skrive kode og kjøre kode.

Docker gjør dette ved å kombinere en lett container virtualiseringsplattform med arbeidsflyt og verktøy som hjelper deg med å administrere og distribuere søknader dine.

I kjernen, gir Docker en måte å kjøre nesten alle programmer forsvarlig isolert i en container. Isolasjon og sikkerhet gjør at du kan kjøre mange containere samtidig på verten. Den lette natur containere, som kjører uten den ekstra belastningen av en hypervisor, betyr at du kan få mer ut av maskinvaren.
Docker er lett og rask plattform som gir en levedyktig og kostnadseffektivt alternativ til hypervisor-baserte virtuelle maskiner . Dette er perfekt egnet for utviklingsmiljøer. Utviklerne kan skrive kode for sine valg inne i containere, og deretter dele dem med andre utviklere senere via Docker for testing. Når testingen er gjort, kan kodene eller programmer bli presset til produksjonsmiljøet, og du kan starte distribusjon og bruk av programmene i sanntid.
Du kan kjøre Docker containere på noen fysisk system, eller virtuelle maskiner, eller i noen Cloud plattformer. Docker vil kjøre på nesten alle moderne operativsystemer som GNU /Linux, Mac OS og Windows etc. Videre vil Docker kjøre Cloud plattformer som Amazon EC2, Rackspace Cloud, Google Cloud, og IBM Softlayer etc.
Du vil kanskje Sjekk våre tidligere artikler om LXC og Vagrant

sette opp flere Isolerte Linux Systems (containere) Bruke LXC På Ubuntu 14.04

Vagrant -. Lage Virtual Development Environments Made Easy

Denne veiledningen beskriver hvordan du installerer og bruker Docker på Ubuntu og CentOS lignende systemer. Denne artikkelen ble testet på Ubuntu 14.04 og CentOS 7 64bit Minimal servere
Installer Docker
På Ubuntu 14.04 systemer.

 curl -sSL https://get.docker.io/ubuntu/| sudo Shon CentOS 7 systemer: 
Docker er tilgjengelig på CentOS 7 standard repositories. Så, kan du installere det ved bare å kjøre følgende kommando fra Terminal
 yum install dockerEnable og begynne Docker tjeneste. 
Systemctl aktivere dockersystemctl start dockerFor andre distribusjoner, sjekk ut den offisielle installasjonsinstruksjonene side <. br> Bruk
1. Opprette nye Containere
Docker bruken er så enkelt som LXC. Først, la oss laste ned Ubuntu bilde og lage en Ubuntu container
For å gjøre det, bytte til root og kjør følgende kommando fra Terminal.
 Docker pull ubuntuSample Output: 
 Trekke repository ubuntu 75204fdb260b: Trekke bilde (utopisk) fra ubuntu, endepunkt: https://cdn-registry-1.docker.io/v1/195eb90b5349: Trekke bilde (sveisen) fra ubuntu, endepunkt: https: //cdn- registry-1.docker.io/v1/3db9c44f4520: Trekke bilde (lucid) fra ubuntu, endepunkt: https://cdn-registry-1.docker.io/v1/463ff6be4238: Trekke bilde (13,04) fra ubuntu, endepunkt: https: //CDN-register-75204fdb260b: Trekke avhengige lag 195eb90b5349: Trekke avhengige lag 3db9c44f4520: Nedlasting 39,62 MB /63,51 MB 11m53s 463ff6be4238: Nedlasting 16,95 MB /18,11 MB 35s 463ff6be4238: Nedlasting 17,32 MB /18,11 MB 24S 463ff6be4238: Nedlasting 17.51 ​​MB /18.11 MB 18s 822a01ae9a15: Pulling avhengige lag 3db9c44f4520: Nedlasting 40,68 MB /63,51 MB 11m10s 463ff6be4238: Nedlasting fullført c5881f11ded9: Trekke fs lag 3db9c44f4520: Nedlasting 42,26 MB /63.51 MB 10m6s c5881f11ded9: Nedlasting fullført cc58e55aa5a5: Nedlasting fullført f127542f0b61: Last ned fullstendig 6cfa4d1f33fb: Last ned fullstendig bac448df371d: Nedlasting fullført 3af9d794ad07: Nedlasting fullført af82eb377801: Nedlasting fullført 93c381d2c255: Nedlasting fullført b7c6da90134e: Nedlasting fullført 47dd6d11a49f: Nedlasting fullført a5208e800234: Nedlasting fullført f33dbb8bc20e: Nedlasting fullført 9fccf650672f: Nedlasting fullført 1186c90e2e28: Nedlasting fullført 92ac38e49c3e: Nedlasting fullført dfaad36d8984: Nedlasting fullført fae16849ebe2: Nedlasting fullført aa822e26d727: Nedlasting fullført f6a1afb93adb: Nedlasting fullført 5796a7edb16b: Nedlasting fullført 0f4aac48388f: Nedlasting fullført 31db3b10873e: Nedlasting fullført 209ea56fda6d: Last ned completeThe kommandoen over vil først se etter Ubuntu bildene fra localhost selv. Hvis bildene ikke er tilgjengelig lokalt, så det trekker de nyeste bildene fra Docker hub 
Hvis du ønsker å bygge en CentOS container, trekk deretter CentOS bilde i stedet.
 Docker pull centosTo liste alt nedla Docker bilder, kjører du følgende kommando: 
 Docker imagesSample Output: 
 Repository Tagg bilde ID SKAPTE VIRTUAL SIZE ubuntu 14.04 c4ff7513909d 2 dager siden 225,4 MB ubuntu trofaste c4ff7513909d 2 dager siden 225.4 MB ubuntu nyeste c4ff7513909d 2 dager siden 225,4 MB ubuntu 14.04.1 c4ff7513909d 2 dager siden 225,4 MB ubuntu utopisk 75204fdb260b 2 dager siden 230,1 MB ubuntu 14.10 75204fdb260b 2 dager siden 230,1 MB ubuntu presis 822a01ae9a15 2 dager siden 108,1 MB ubuntu 12.04.5 822a01ae9a15 2 dager siden 108,1 MB ubuntu 12.04 822a01ae9a15 2 dager siden 108,1 MB ubuntu 12.10 c5881f11ded9 8 uker siden 172,2 MB ubuntu quantal c5881f11ded9 8 uker siden 172,2 MB ubuntu 13.04 463ff6be4238 8 uker siden 169.4 MB ubuntu raring 463ff6be4238 8 uker siden 169.4 MB ubuntu 13.10 195eb90b5349 8 uker siden 184,7 MB ubuntu sveisen 195eb90b5349 8 uker siden 184,7 MB ubuntu 10.04 3db9c44f4520 3 måneder siden 183 MB ubuntu lucid 3db9c44f4520 3 måneder siden 183 MBThe ovenfor bildene er bygget av noen andre på Docker samfunnet. De nedlastede bildene skal lagres lokalt i /var /lib /Docker /katalog 
Etter nedlasting av Docker bilder, la oss kjøre den nye Container ved å skrive inn følgende kommando:
 Docker løp -t -. jeg ubuntu: 14.04.1 /bin /bashWhere, etter -t. Tildeler en pseudo-tty eller terminal inne i vårt nye container 
-i: Tillater oss å lage en interaktiv forbindelse ved å ta tak standard i (STDIN) av beholderen Twitter /bin /bash. Dette vil lansere en bash shell inne vår container
ubuntu. 14.04.1. Eller
lanserer beholderen kjører nyeste Ubuntu 14.04.1 bilde, du kan kjøre en Container ved hjelp av bilde id også
 Docker løp -t -i c4ff7513909d /bin /bashHere, er c4ff7513909d Ubuntu 14.04.1 Bilde id 
Slik kjører Ubuntu 14.10 Beholder..
< pre> Docker løp -t -i ubuntu: 14.10 /bin /bashLikewise, du kan kjøre Ubuntu 13.10 container:
 Docker løp -t -i ubuntu: 13.10 /bin /bashThe over kommandoer lar deg logge inn på beholderen 
 root @ 61186887519b. /# Nå kan du bruke beholderen til å bygge dine applikasjoner 
å returnere tilbake til den opprinnelige vertens Terminal uten quiting Container trykke ctrl + p, etter av. . ctrl + q tasten
vil vise de kjører Docker containere, kjører du følgende kommando:
 Docker psSample Output: 
 CONTAINER ID IMAGE COMMAND SKAPTE STATUS PORTS NAVN 61186887519b ubuntu: 14.04 /bin /bash 20 minutter siden opp 20 minutter jovial_archimedesTo vis alle containere, bruke flagget "-en" 
 Docker ps -aIf du ønsker å legge tilbake til å kjøre container, kjører du følgende kommando:. 
< pre> Docker feste 61186887519bHere, 61186887519b er ID-en til å kjøre container.
å stoppe container, type exit fra at Container er bash shell.
2. Bygge våre egne Images Det vi har sett ovenfor er drevet et bilde laget av noen andre i Docker Hub. Nå vil vi se hvordan du kan lage vårt eget bilde med noen forhåndsinstallerte pakker (Ex.apache web server) i Container.
Kjør først ønsket container. Her vil jeg kjøre Ubuntu 14.04
 Docker løp -t -i ubuntu: 14,04 /bin /bashInstall Apache web server i Container 
 apt-get update & &.. apt-get install apache2 -yStart apache tjeneste: 
 tjenesten apache2 startCheck hvis serveren fungerer ved å navigere til http:. //ip-adresse-of-the-container /fra den opprinnelige vertsleseren Anmeldelser Merk: Du kan finne IP-adressen til noen Container ved å kjøre "ifconfig" kommandoen inne i Container Terminal 
Voila.! Apache-serveren fungerer !!
Nå, gå tilbake til det opprinnelige systemet vert Terminal ved å trykke ctrl + p og Ctrl + Q tastene.
Kjør følgende kommando for å bygge vårt eget Docker bilde som inkluderer Apache webserver forhåndsinstallert.
Eksempel:
 Docker forplikte 28107ffa5560 sk_unixmen /ubuntu_apachSample Output:
9f656205a4bd30959b437da8bf91d848702b0d512c4c0cdb56eeadf771bcab85Here,
28107ffa5560 - Ubuntu 14.04 container ID. Du finner den ved hjelp av kommandoen "docker ps" Anmeldelser sk_unixmen -.. Navn på brukeren som opprettet container
ubuntu_apache -. Navn på Docker bilde skapt av bruker sk_container
Nå, la oss kjøre kommandoen " Docker bilder "for å se om vår nye image skapes
 Docker imagesSample Output:. 
 Repository Tagg bilde ID-LAGET VIRTUAL SIZEsk_unixmen /ubuntu_apache nyeste 9f656205a4bd 29 sekunder siden 260.2 MBubuntu trofaste c4ff7513909d 4 dager siden 225,4 MBubuntu 14.04 c4ff7513909d 4 dager siden 225.4 MBubuntu nyeste c4ff7513909d 4 dager siden 225,4 MBubuntu 14.04.1 c4ff7513909d 4 dager siden 225,4 MBubuntu 14.10 75204fdb260b 4 dager siden 230,1 MBubuntu utopisk 75204fdb260b 4 dager siden 230,1 MBubuntu 12.04 822a01ae9a15 4 dager siden 108,1 MBubuntu 12.04.5 822a01ae9a15 4 dager siden 108,1 MBubuntu presise 822a01ae9a15 4 dager siden 108,1 MBubuntu 12.10 c5881f11ded9 8 uker siden 172,2 MBubuntu quantal c5881f11ded9 8 uker siden 172,2 MBubuntu 13.04 463ff6be4238 8 uker siden 169,4 MBubuntu raring 463ff6be4238 8 uker siden 169,4 MBubuntu 13.10 195eb90b5349 8 uker siden 184,7 MBubuntu sveisen 195eb90b5349 åtte uker siden 184,7 MBubuntu 10.04 3db9c44f4520 3 måneder siden 183 MBubuntu lucid 3db9c44f4520 3 måneder siden 183 MBAs du ser ovenfor, Vår nye image har blitt opprettet. 
Nå kan du lage en annen ny container ved hjelp av det nye bildet som vi har skapt like før .
 Docker løp -t -i sk_unixmen /ubuntu_apache /bin /bashYou'll være nå i stand til å spille med Container som vanlig. Vær oppmerksom på at apache serveren er forhåndsinstallert i vår nyopprettede bilde. 
Tre. Fjerne Beholdere og Images Når du ferdig med containere eller bilder, kan du slette dem fra ditt lokale system.
Først, la oss vise listen over tilgjengelige beholdere.
 Docker ps -aSample Output : 
 CONTAINER ID IMAGE COMMAND SKAPTE STATUS PORTER NAMES6f9a6e4b1e82 9f656205a4bd /bin /bash 8 minutter siden Opptil 8 minutter sad_heisenberg 6ce258454f77 ubuntu: 14,04 /bin /bash 30 minutter siden Opptil 30 minutter desperate_bohr 777b275823e9 ubuntu: 14,04 /bin /bash 40 minutter siden avsluttet (0) 30 minutter siden compassionate_mclean eac3b804a2fb ubuntu: 14.10 /bin /bash 22 timer siden avsluttet (0) 20 timer siden backstabbing_bartik 325d0bfcb828 ubuntu: 14.10 /bin /bash 43 timer siden avsluttet (0) 43 timer siden kickass_torvalds 226c86bc836e ubuntu: 14.04 /bin /bash 43 timer siden avsluttet (1) 43 timer siden sharp_albattani 7cba44200ff9 ubuntu: 14.10 /bin /bash 43 timer siden avsluttet (100) 43 timer siden jovial_lumiere 28107ffa5560 ubuntu: 14.10 /bin /bash 43 timer siden gått ut ( -1) For en time siden ecstatic_davinci 3170c250a59f ubuntu: 14.10 /bin /bash 43 timer siden avsluttet (0) 43 timer siden angry_wright f41190788d0b ubuntu: 14,04 /bin /bash 44 timer siden avsluttet (0) 44 timer siden elegant_mcclintock 4610f91b4d65 ubuntu: 14.10 /bin /bash 44 timer siden avsluttet (0) 44 timer siden condescending_archimedes 61186887519b ubuntu: 14,04 /bin /bash 44 timer siden avsluttet (0) 44 timer siden jovial_archimedesAs du ser ovenfor resultat, er det to containere som kjører nå. La oss stoppe dem først. 
 Docker stopp 6f9a6e4b1e82docker stoppe 6ce258454f77Here, 6f9a6e4b1e82 og 6ce258454f77 er ID-en til å kjøre Container-tallet. 
Etter stoppe Containere, kjøre følgende kommandoer for å slette dem.
 Docker rm 6f9a6e4b1e82docker rm 6ce258454f77Now, over to Container-er har blitt slettet fra det lokale systemet. 
På samme måte kan du slette Docker bilder også.
La oss vise listen over tilgjengelige Docker Bilder i vår lokale systemet.
 Docker imagesSample Output: 
 Repository Tagg bilde ID SKAPTE VIRTUAL SIZE < none > < none > 9f656205a4bd 15 minutter siden 260.2 MBubuntu 14.04 c4ff7513909d 4 dager siden 225.4 MBubuntu nyeste c4ff7513909d 4 dager siden 225,4 MBubuntu 14.04.1 c4ff7513909d 4 dager siden 225.4 MBubuntu trofaste c4ff7513909d 4 dager siden 225.4 MBubuntu 14.10 75204fdb260b 4 dager siden 230,1 MBubuntu utopisk 75204fdb260b 4 dager siden 230,1 MBubuntu 12.04.5 822a01ae9a15 4 dager siden 108,1 MBubuntu presis 822a01ae9a15 4 dager siden 108,1 MBubuntu 12.04 822a01ae9a15 4 dager siden 108,1 MBubuntu 12.10 c5881f11ded9 8 uker siden 172,2 MBubuntu quantal c5881f11ded9 8 uker siden 172,2 MBubuntu 13.04 463ff6be4238 8 uker siden 169,4 MBubuntu raring 463ff6be4238 8 uker siden 169,4 MBubuntu 13.10 195eb90b5349 8 uker siden 184,7 MBubuntu sveisen 195eb90b5349 8 uker siden 184,7 MBubuntu 10.04 3db9c44f4520 3 måneder siden 183 MBubuntu lucid 3db9c44f4520 3 måneder siden 183 MTO slette et bilde (Ex.9f656205a4bd), kjører du følgende kommando: 
 docker rmi 9f656205a4bdThe Docker bilde har blitt slettet nå. 
Det er alt for nå. Det vi har diskutert så for er bare Docker anleggsdelen, og det er grunnleggende bruk. Jeg anbefaler deg å gå grundig dokumentasjon offisielle Docker for å finne ut mer om Docker.
Cheers!