I løpet av de siste årene har Docker fått popularitet som en containeriseringssøknad. Containere gir fordelene med virtuelle maskiner uten tilhørende overhead.
En virtuell maskin lar brukere starte et selvstendig operativsystem på toppen av en annen maskin. Det betyr at brukere kan kjøre en annen Linux- eller Windows -maskin på toppen av sitt nåværende operativsystem. Imidlertid er det en ressursintensiv prosess.
Hver virtuelle maskin starter sin egen OS -kjerne, binærveger, biblioteker og applikasjoner på toppen av vertsmaskinen. Containere løser dette problemet ved å dele vertsmaskinens kjerne. Det skiller seg bare på applikasjonsnivået. Binærveger og biblioteker skilles bare når det er nødvendig. Som et resultat har containere raskere utførelsestider og mindre fotavtrykk. Docker er for tiden den mest populære containerteknologien.
Installasjon på Ubuntu
Forutsetning
Docker har en gratis samfunnsversjon kalt Docker CE og en betalt bedriftsversjon kalt Docker EE. I denne artikkelen vil vi konsentrere oss om samfunnsversjonen.
Docker CE krever en 64-biters versjon av Ubuntu i noen av følgende smaker:
- Zesty 17.04
- Xenial 16.04 (LTS)
- Pålitelig 14.04 (LTS)
Du kan kjøre mange av kommandoene som en ikke-root-bruker. Imidlertid trenger du root (sudo) tilgang for noen av kommandoene.
Installere Docker
Det er flere måter å installere Docker. I denne opplæringen vil vi sette opp Docker Repository og installere Docker CE fra depotet. Vi antar også at du har en ren maskin uten noen tidligere versjoner av Docker. Hvis du har en tidligere versjon av Docker, vennligst avinstaller versjonen før du starter.
Depotoppsett
1. Oppdater din APT-pakke for å sikre at OS er oppdatert:
$ sudo apt-get oppdatering |
2. Installer følgende pakker:
Programvareforekomster-vanlige |
3. Legg til den offisielle GPG -tasten
$ curl -fssl https: // nedlasting.Docker.com/linux/ubuntu/gpg | sudo apt-key add - |
Kontroller nøkkel fingeravtrykket som skal være 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88. Du kan bruke følgende kommando:
$ sudo apt-key fingerprint 0ebfcd88 |
Pub 4096R/0EBFCD88 2017-02-22 |
Nøkkel fingeravtrykk = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 |
Uid Docker Release (CE Deb) |
SUB 4096R/F273FCD8 2017-02-22 |
4. Sett opp et stabilt depot ved hjelp av følgende:
$ sudo add-apt-repository \ |
"Deb [Arch = AMD64] https: // nedlasting.Docker.com/linux/ubuntu \ |
"Buen" definerer arkitekturen. For x86_64 Bruk “Arch = AMD64”, for ARMHF bruk “Arch = ArmHF” og for S390X bruk “Arch = X390X”.
Docker CE -oppsett
1. Oppdater dine passende pakker:
$ sudo apt-get oppdatering |
2. Installer siste Docker CE:
$ sudo apt-get install -y docker-ce |
3. Kommandoen ovenfor skal installere Docker og starte demonen. Sjekk om demonen kjører ved hjelp av følgende kommando:
$ sudo systemctl status docker
Resultatet skal se ut som nedenfor. Status "aktiv (løpende)" betyr at alt er i orden.
● Docker.Service - Docker Application Container Engine |
Lastet: lastet (/lib/systemd/system/docker.service; aktivert; Forhåndsinnstilt leverandør: aktivert) |
Aktiv: aktiv (løping) siden Sun 2017-08-30 06:53:52 PDT; 2 timer siden |
Dokumenter: https: // dokumenter.Docker.com |
Bruke Docker
For å bruke Docker, må du forstå 3 konsepter:
-
- Docker Hub: Docker Hub er det skybaserte depotet der du lagrer alle offentlige Docker-bilder. Du kan opprette et pålogging på Docker Hub her: https: // hub.Docker.com/
- Docker -bilder: Docker -bilder er de blå utskriftene til forskjellige containere. Det er et øyeblikksbilde av beholderen.
- Docker Container: Kjør et Docker -bilde Du får en container. Beholderen er arbeidsmaskinen du vil bruke til oppgavene dine.
La oss komme i gang med å bruke Docker.
Docker -kommandoer
Du kan se alle Docker -kommandoer med følgende:
Du kan finne alle Docker -kommandoene her.
Hvis du vil finne ut om en spesifikk kommando, kan du bruke:
$ docker mål -kommando -Help
Hvor "mål-kommando" er kommandoen du vil undersøke.
Last ned Docker -bilder
Docker -bilder lastes ned fra Docker Hub. Du trenger ikke å logge inn for å laste ned og bruke bilder, men du trenger en pålogging for å laste opp bilder.
Last ned ditt første Docker -bilde ved å bruke følgende kommando:
Utgangen skal se slik ut:
Kan ikke finne bilde 'Hello-World: Siste' lokalt |
Siste: Trekk fra bibliotek/hallo-verden |
B04784FBA78D: Trekk komplett |
Digest: SHA256: F3B3B28A45160805BB16542C9531888519430E9E6D6FFC09D72261B0D26FF74F |
Status: Lastet ned nyere bilde for Hello-World: Siste |
Denne meldingen viser at installasjonen din ser ut til å fungere riktig. |
I linjene ovenfor så Docker først etter bildet "Hello-World" i ditt lokale depot. Da det ikke var i stand til å finne bilde ", trakk det det fra Docker Hub. Så kjørte det Hello-World Container.
Følgende kommando vil vise deg tilgjengelige bilder på Docker Hub:
Vi lette etter "nginx" -relaterte bilder. Den delvise utgangen ser slik ut:
Navn Beskrivelse Stjerner Offisiell automatisert |
Nginx Official Build of Nginx. 6737 [OK] |
JWilder/Nginx-Proxy Automated Nginx Reverse Proxy for Docker C… 1099 [OK] |
Richarvey/nginx-php-fpm container som kjører nginx + php-fpm dyktig ... 429 [OK] |
Alternativt kan du gå til https: // hub.Docker.com/ og søk etter bilder. "Offisiell" betegner versjoner som ble sjekket av Docker -teamet.
Du kan også bruke “Pull” -kommandoen til å laste ned bilder:
Du kan se alle bildene på ditt lokale depot med følgende kommando
Utgangen skal se slik ut:
Repository Tag Image ID Opprettet størrelse |
Ubuntu siste CCC7A11D65B1 3 uker siden 120MB |
Nginx siste B8EFB18F159B 5 uker siden 107MB |
Hello-World Siste 1815C82652C0 2 måneder siden 1.84kb |
Med bildene fra ditt lokale depot, kan du starte en beholder. For eksempel kan du starte Nginx -beholderen fra ovennevnte depot.
Kjørende containere
La oss anta, vi ønsker å lage en Ubuntu -beholder fra det tilgjengelige Ubuntu -bildet. Du kan bruke følgende kommando:
Alternativet -IT -alternativet forteller Run Command om å kjøre et interaktivt skall. Du vil se en ledetekst som denne:
Dette betyr at du er logget inn som rotbruker til beholderen med ID 6370A8B73050. Du kan installere alt du vil ha i denne beholderen. Anta at du vil installere Python.
Du kan bruke kommandoene:
root@6370a8b73050:/# apt-get oppdatering |
Og
root@6370a8b73050:/# apt -get install -y python3.5 |
Når installasjonene er vellykkede, har du en Python-klar Ubuntu-beholder.
Du kan alltid sjekke containerstatusen fra verts -kommandolinjen ($ betyr vertsrom og root@6370a8b73050 container ledetekst):
Container ID Image Command opprettet statusporter navn |
6370A8B73050 Ubuntu "/bin/bash" for 13 minutter siden opp 12 minutter cranky_bassi |
Container ID Image Command opprettet statusporter navn |
6370A8B73050 Ubuntu "/bin/bash" for 13 minutter siden opp 13 minutter cranky_bassi |
6A16D462DD28 Ubuntu "/bin/bash" for 16 minutter siden forlatt (0) for 15 minutter siden ungdommelig_pasteur |
889d3a9328f2 nginx "nginx -g 'daemon ..." 18 minutter siden forlatt (0) 17 minutter siden hardcore_ritchie |
I output ovenfor viser PS-kommandoen bare den løpende beholderen mens PS-kommandoen med alternativet “-A” viser alle containere.
Lagre containere som bilder
Anta at du vil lagre Python -beholderen din som et bilde for å gjenbruke den senere.
Først avslutt beholderen:
root@6370a8b73050:/# exit |
Du kan lagre beholderen på ditt lokale depot ved hjelp av følgende kommando:
$ docker forpliktelse -m “Beskrivelse av endringer” -A “Forfatternavn” Containerid Repository/Imagename
Depotet er vanligvis ditt brukernavn fra Docker Hub. Så du kan lagre Python -beholderen din slik:
$ docker commit -m "python3.5 Container "-A" Zak H "6370A8B73050 Zakh/Python3.5-klar |
Hvis du sjekker bildene dine, vil du ha et Python -bilde i depotet ditt:
Repository Tag Image ID Opprettet størrelse |
Zakh/Python3.5-klar siste 6DDF31466A89 2 minutter siden 196MB |
Ubuntu siste CCC7A11D65B1 3 uker siden 120MB |
Nginx siste B8EFB18F159B 5 uker siden 107MB |
Hello-World Siste 1815C82652C0 2 måneder siden 1.84kb |
Du kan skyve dette bildet til Docker Hub ved å bruke følgende kommandoer:
Docker -innlogging -U brukernavn
Docker Push Brukernavn/Imagename
I ovennevnte tilfelle vil det være:
Docker -innlogging -u Zakh |
Docker Push Zakh/Python3.5-klar |
Når du har presset beholderen til Docker Hub, kan andre laste ned bildet til datamaskinene sine og bruke Python3.5 Miljø du setter opp.
Rydder opp
Følgende kommando fjerner containere:
Docker RM Containerid
Følgende kommando vil fjerne bilder fra ditt lokale depot:
Docker RMI ImageId
Avsluttende ord
Ovennevnte guide gir deg en trinn-for-trinn-prosess for å bruke Docker for å forenkle utviklingen din. Du kan lage dine personlige konfigurasjoner, lagre dem som bilder og dele det med andre brukere eller gjenbruke bildene selv. Det fremskynder hele utviklingsprosessen.
Avanserte emner
- Du kan bruke DockerFile til å bygge bilder fra skrevne YAML -filer.
- Docker Swarm kan hjelpe deg med å orkestrere og administrere et stort antall Docker -noder.
Referanser:
- https: // dokumenter.Docker.com/motor/installasjon/linux/docker-ce/ubuntu/
- https: // www.Digitalocean.COM/Community/Tutorials/How-to-Install-and-use-Docker-on-Ubuntu-16-04
- https: // docker-curriculum.com/
- https: // www.Digitalocean.com/community/tutorials/the-docker-ecosystem-an-introduksjon-til-common-komponenter
- https: // www.Airpair.COM/DOCKER/POSTS/8-DROVEN-REAL-VERD-VEDER-TIL-TIL-DOCKER
- http: // www.ZDNet.com/artikkel/hva-er-docker-and-why-is-it-so-darn-Popular/
- https: // dokumenter.Docker.com/enterprise/
- https: // dokumenter.Docker.com/motor/sverm
- https: // dokumenter.Docker.com/motor/referanse/byggherre/
- https: // dokumenter.Docker.com/motor/referanse/kommandolinje/docker/