Docker on joukko Platforms as a Service (PaaS) -tuotteita, jotka käyttävät käyttöjärjestelmätason virtualisointia ohjelmistojen toimittamiseen säiliöiksi kutsutuissa paketeissa. Säilöt on eristetty toisistaan, ja ne yhdistävät omat ohjelmistonsa, kirjastonsa ja määritystiedostonsa. he voivat kommunikoida keskenään hyvin määriteltyjen kanavien kautta. Kaikkia säilöjä ajaa yksi käyttöjärjestelmän ydin, ja siksi ne käyttävät vähemmän resursseja kuin virtuaalikone.
Sisällysluettelo
- Mikä on Docker?
- Miksi Docker on suosittu?
- Mikä on Dockerfile?
- Mikä on Docker-arkkitehtuuri ja miten Docker toimii?
- Mikä on Docker Image?
- Mikä on Docker Container?
- Mikä on Docker Hub?
- Mikä on Docker Compose?
- Kuinka ladata Docker Desktop?
- Dockerin komennot
- Docker Engine
- Miksi käyttää Dockeria?
- Mikä on Docker for AWS?
- Ero Docker-säiliöiden ja virtuaalikoneiden välillä
- Asenna Docker Ubuntuun
- Esimerkkiesimerkki: Sovelluksen säilytys Dockerin avulla
- Esimerkki kuvan työntämisestä Docker Hubiin
- Hae ja suorita kuva Docker Hubista
- Dockerin edut
- Dockerin vaihtoehdot
- Docker Security
Mikä on Docker?
Satamatyöläinen on avoimen lähdekoodin lähde konteissa alusta, jolla voit pakata sovelluksesi ja kaikki sen riippuvuudet standardoituun yksikköön, jota kutsutaan säiliöksi. Kontit ovat kevyitä, mikä tekee niistä kannettavia ja ne on eristetty alla olevasta infrastruktuurista ja toisistaan konteista. Voit ajaa telakkakuva kuten a telakkakontti missä tahansa koneessa, johon telakointiasema on asennettu ilman riippuen käyttöjärjestelmä.
Miksi Docker on suosittu?
Docker saavutti suosionsa vaikutuksensa ansiosta ohjelmistokehitykseen ja käyttöönottoon. Seuraavassa on joitain tärkeimmistä syistä dockerin suosioon:
- Siirrettävyys: Dockerin avulla kehittäjät voivat pakata sovelluksensa kaikkine riippuvuuksineen yhteen kevyeen astiaan. Se mahdollistaa tasaisen suorituskyvyn kaikissa eri laskentaympäristöissä.
- Toistettavuus: Kapseloimalla sovellukset niiden riippuvuuksineen säiliöön se varmistaa, että ohjelmistoasetukset pysyvät yhdenmukaisina kehitys-, testaus- ja tuotantoympäristöissä.
- Tehokkuus: Docker konttipohjaisen arkkitehtuurinsa ansiosta optimoi resurssien käytön. Sen avulla kehittäjät voivat käyttää useita erillisiä sovelluksia yhdessä isäntäjärjestelmässä.
- Skaalautuvuus: Dockerin skaalautuvuusominaisuudet auttoivat kehittäjiä helpottamaan sovellusten käsittelyä työtaakan kasvaessa.
Mikä on Dockerfile?
The Docker-tiedosto käyttää DSL:ää (Domain Specific Language) ja sisältää ohjeet Docker-kuvan luomiseen. Dockerfile määrittelee prosessit kuvan nopeaa tuottamista varten. Sovellusta luodessasi sinun tulee luoda Docker-tiedosto järjestyksessä, koska Docker-daemon suorittaa kaikki ohjeet ylhäältä alas.
(Docker-daemon, jota usein kutsutaan yksinkertaisesti Dockeriksi, on taustapalvelu, joka hallitsee järjestelmän Docker-säilöjä.)
- Se on tekstidokumentti, joka sisältää tarvittavat komennot, jotka suorituksen aikana auttavat kokoamaan Docker-kuvan.
- Docker-kuva luodaan Docker-tiedostolla.

Lisätietoja Docker-tiedostosta on osoitteessa Docker – Dockerfile-konsepti .
Mikä on Docker-arkkitehtuuri ja miten Docker toimii?
Docker käyttää asiakas-palvelin-arkkitehtuuria. Docker-asiakas keskustelee telakointiaseman kanssa, joka auttaa telakointisäiliöiden rakentamisessa, suorittamisessa ja jakamisessa. Docker-asiakasohjelma toimii demonin kanssa samassa järjestelmässä tai voimme yhdistää Docker-asiakkaan Docker-daemoniin etäyhteyden kautta. REST API:n avulla UNIX-liitännässä tai verkossa docker-asiakas ja demoni ovat vuorovaikutuksessa keskenään. Lisätietoja dockerin toiminnasta on osoitteessa Dockerin arkkitehtuuri .

Mikä on Docker Image?
Se on tiedosto, joka koostuu useista kerroksista ja jota käytetään koodin suorittamiseen Docker-säiliössä. Ne ovat joukko ohjeita, joita käytetään telakointisäiliöiden luomiseen. Docker Image on suoritettava ohjelmistopaketti, joka sisältää kaiken sovelluksen suorittamiseen tarvittavan. Tämä kuva kertoo, kuinka säilön tulee instantoitua, mikä määrittää, mitkä ohjelmistokomponentit toimivat ja miten. Docker Container on virtuaalinen ympäristö, joka yhdistää sovelluskoodin kaikkiin sovelluksen suorittamiseen tarvittaviin riippuvuuksiin. Sovellus toimii nopeasti ja luotettavasti laskentaympäristöstä toiseen.
Mikä on Docker Container?
Docker-säilö on kuvan ajonaikainen esiintymä. Antaa kehittäjien pakata sovelluksia kaikkiin tarvittaviin osiin, kuten kirjastoihin ja muihin riippuvuuksiin. Docker Containers ovat Docker-kuvien ajonaikaisia esiintymiä. Säiliöt sisältävät koko sovellukseen tarvittavan sarjan, joten sovellus voidaan suorittaa eristetyllä tavalla. Esim. - Oletetaan, että Ubuntu OS:stä on kuva NGINX SERVER -palvelimella, kun tämä kuva ajetaan Docker run -komennolla, sitten luodaan säilö ja NGINX SERVER toimii Ubuntu OS:ssä.
Mikä on Docker Hub?
Docker Hub on arkistopalvelu ja se on pilvipohjainen palvelu, jossa ihmiset siirtävät Docker Container -kuvansa ja myös noutavat Docker Container -kuvat Docker Hubista milloin tahansa tai missä tahansa Internetin kautta. Yleensä se helpottaa kuvien löytämistä ja uudelleenkäyttöä. Se tarjoaa ominaisuuksia, kuten voit siirtää kuvasi yksityisiksi tai julkisiksi rekisteriksi, johon voit tallentaa ja jakaa Docker-kuvia.
Pääasiassa DevOps-tiimi käyttää Docker Hubia. Se on avoimen lähdekoodin työkalu, joka on vapaasti saatavilla kaikille käyttöjärjestelmille. Se on kuin varasto, johon tallennamme kuvat ja vedämme kuvia tarvittaessa. Kun henkilö haluaa työntää/vetää kuvia Docker Hubista, hänellä on oltava perustiedot Dockerista. Keskustellaan Docker-työkalun vaatimuksista.
Mikä on Docker Compose?
Docker Compose suorittaa YAML-pohjaisen monisäiliösovelluksen. YAML-tiedosto sisältää kaikki säilöjen käyttöönottoon tarvittavat kokoonpanot Docker Compose , joka on integroitu Docker Swarm ja antaa ohjeita konttien rakentamiseen ja käyttöönottoon. Docker Composessa jokainen säilö on rakennettu toimimaan yhdellä isännällä.
Kuinka ladata Docker Desktop?
Docker Desktop tarjoaa graafisen käyttöliittymän, joka toimii telakointisäiliöiden, telakointikuvien ja telakointiverkkojen kanssa. Docker-työpöytä tarjoaa erillisen ympäristön, joka sisältää Docker Enginen, Docker CLI:n, Docker Composen, Kubernetes, ja muut työkalut, joita tarvitaan sovellusten rakentamiseen, toimittamiseen ja suorittamiseen konttien muodossa, mikä tekee niistä käyttäjäystävällisempiä. Lisätietoja Docker-työpöydän asentamisesta on kohdassa Docker Desktop -mallikuva.
Dockerin komennot
Oleellisten Docker-komentojen käyttöönoton myötä dockerista tuli tehokas ohjelmisto kontinhallintaprosessin virtaviivaistamiseen. Se auttaa varmistamaan saumattoman kehitys- ja käyttöönottotyönkulun. Seuraavat ovat joitakin docker-komentoja, joita käytetään yleisesti:
- Docker Run: Sitä käytettiin säilöjen käynnistämiseen kuvista määrittäen ajonaikaiset asetukset ja komennot.
- Docker Pull: Se hakee säilökuvat säilörekisteristä, kuten Docker Hubista, paikalliselle koneelle.
- Docker ps : Se auttaa näyttämään käynnissä olevat säilöt sekä niiden tärkeät tiedot, kuten konttitunnuksen, käytetyn kuvan ja tilan.
- Docker Stop : Se auttaa pysäyttämään käynnissä olevat säiliöt sulkemalla sulavasti niissä olevat prosessit.
- Dockerin käynnistys: Se auttaa pysäytetyt kontit käynnistämään uudelleen ja jatkamaan niiden toimintaa edellisestä tilasta.
- Dockerin kirjautuminen: Se auttaa kirjautumaan sisään Docker-rekisteriin, mikä mahdollistaa pääsyn yksityisiin tietovarastoihin.
Lisätietoja Docker-komennoista saat kohdasta Docker – ohjekomennot .
Docker Engine
Säiliöitä isännöivä ohjelmisto on nimeltään Docker Engine. Docker Engine on asiakaspalvelinpohjainen sovellus. Telakkamoottorissa on 3 pääkomponenttia:
- Palvelin: Se vastaa Dockerin kuvien, säilöjen, verkkojen ja taltioiden luomisesta ja hallinnasta Dockerissa. Sitä kutsutaan demoniprosessiksi.
- REST API : Se määrittää, kuinka sovellukset voivat olla vuorovaikutuksessa palvelimen kanssa, ja opastaa sitä, mitä tehdä.
- Asiakas: Asiakas on Dockerin komentorivikäyttöliittymä (CLI), jonka avulla voimme olla vuorovaikutuksessa Dockerin kanssa docker-komentojen avulla.
Miksi käyttää Dockeria?
Dockeria voidaan käyttää sovelluksen ja sen riippuvuuksien pakkaamiseen, mikä tekee siitä kevyen ja helpon lähettää koodin nopeammin ja luotettavammin. Dockerin ansiosta sovelluksen ajaminen tuotantoympäristössä on erittäin helppoa. Dockerin kontti voi olla alustariippumaton, jos koneeseen on asennettu telakointikone.
- Resurssitehokkuus : Docker auttaa maksimoimaan resurssien käytön suorittamalla useita säilöjä yhdessä isännässä. Se auttaa vähentämään infrastruktuurikustannuksia ja lisää tehokkuutta.
- Versionhallinta: Se yksinkertaistaa sovellusten ja niiden riippuvuuksien versiointia, mikä varmistaa johdonmukaisuuden ja helpottaa tiimien välistä yhteistyötä.
- Mikropalveluiden ketteryys: Se mahdollistaa mikropalveluarkkitehtuurin käyttöönoton, mikä edistää skaalautuvuutta, joustavuutta ja vikojen eristämistä ketterässä sovelluskehityksessä.
Mikä on Docker for AWS?
Docker on tehokkain työkalu sovelluksen suorittamiseen säiliöiden muodossa. Docker-säiliöt ovat kevyitä ja niitä voidaan käyttää missä tahansa käyttöjärjestelmässä.
AWS tarjoaa Amazon Elastic Container -palvelun ( Amazon ECS ) se on täysin hallittu konttipalvelu, jonka avulla voit ottaa käyttöön, skaalata ja hallita telakointisäiliöitä. Amazon ECS on suorituskyvyn mukaan luotettavin alusta, ja se voidaan myös integroida muihin AWS-palveluihin, kuten kuormituksen tasapainotukseen, palvelun löytämiseen ja kontin kunnon seurantaan. Tietääksesi lisää Amazon Elastic Container Service (Amazon ECS) .
Ero Docker-säiliöiden ja virtuaalikoneiden välillä
Seuraavat ovat erot telakointisäiliöiden ja virtuaalikoneiden välillä:
Docker-säiliöt | Virtuaalikoneet |
|---|---|
Docker Containers sisältää binaareja, kirjastoja ja konfiguraatiotiedostoja sekä itse sovellus. | Virtuaalikoneet (VM:t) toimivat Hypervisoreissa, jotka mahdollistavat useiden virtuaalikoneiden käytön yhdessä koneessa oman käyttöjärjestelmän kanssa. |
Ne eivät sisällä vieraskäyttöjärjestelmää jokaiselle säilölle, ja ne perustuvat taustalla olevaan käyttöjärjestelmän ytimeen, mikä tekee säilöistä kevyitä. | Jokaisella virtuaalikoneella on oma kopio käyttöjärjestelmästä sovelluksen ja tarvittavien binäärien kanssa, mikä tekee siitä huomattavasti suuremman ja vaatii enemmän resursseja. |
Säilöt jakavat resursseja muiden saman isäntäkäyttöjärjestelmän säilöjen kanssa ja tarjoavat käyttöjärjestelmätason prosessieristyksen. | Ne tarjoavat laitteistotason prosessieristyksen ja käynnistyvät hitaasti. |
Asenna Docker Ubuntuun
Seuraavat vaiheet opastavat sinua Dockerin asentamisessa ubuntuun:
Vaihe 1: Poista vanha Docker-versio
- Suorita seuraava komento poistaaksesi vanhan version docker-ohjelmiston:
$ sudo apt-get remove docker docker-engine docker.io containerd runc>
Vaihe 2: Docker Enginen asentaminen
- Seuraavaa komentoa käytetään telakointimoottorin asennukseen:
$ sudo apt-get update $ sudo apt-get install ca-certificates curl gnupg lsb-release $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ echo 'deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable' | sudo tee /etc/apt/sources.list.d/docker.list>/dev/null $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin $ sudo groupadd docker $ sudo usermod -aG docker $USER>
Vaihe 3: Tarkista Dockerin asennus
- Tarkista, onko telakka asennettu järjestelmääsi onnistuneesti, yrittämällä ajaa säilöä seuraavalla komennolla:
$ sudo docker run hello-world>
Lisätietoja Dockerin asentamisesta ubuntuun on tässä - Artikla
Esimerkkiesimerkki: Sovelluksen säilytys Dockerin avulla
Seuraavat vaiheet opastavat sovelluksen säilyttämiseen Dockerin avulla:
Vaihe 1: Luo Dokcerfile- ja Python-sovellus
- Luo kansio, jossa on kaksi tiedostoa (Dockerfile ja main.py-tiedosto).
Vaihe 2: Kehitä Python-koodi
- Muokkaa main.py-tiedostoa alla olevalla koodilla tai voit yrittää kehittää omaa python-koodia.
#!/usr/bin/env python3 print('Docker and GFG rock!')> Vaihe 3: Kehitä Docker-tiedosto
- Muokkaa Docker-tiedostoa seuraavilla ohjeilla Docker-tiedoston kehittämiseen:
FROM python:latest COPY main.py / CMD [ 'python', './main.py' ]>
Vaihe 4: Luo Docker-kuva
- Kun olet luonut ja muokannut main.py-tiedoston ja Docker-tiedoston, luo kuva, joka sisältää sovelluksesi suorittamalla seuraavan komennon:
$ sudo docker build -t python-test .>
- '-t' -vaihtoehdolla voit määrittää kuvasi nimen. 'python-test' on nimi, jonka olemme valinneet kuvalle.
Vaihe 5: Suorita Docker Container
- Kun kuva on luotu, koodisi on valmis käynnistymään.
$ sudo docker run python-test>
Jos haluat lisätietoja tästä sovelluksesi säilytyslaatikosta, katso tämä - Artikla
Esimerkki kuvan työntämisestä Docker Hubiin
Seuraavat vaiheet opastavat kuvan siirtämisessä Dockerhubiin:
Vaihe 1: Luo tili Docker Hubissa tai käytä olemassa olevaa tiliä, jos sinulla jo on sellainen.
Vaihe 2: Napsauta Luo arkisto -painiketta, anna tiedoston nimi ja napsauta Luo.
Vaihe 3: Nyt merkitsee kuvamme ja siirtää sen Docker Hub -tietovarastoon, jonka juuri loimme.
- Suorita nyt alla oleva komento listataksesi telakointikuvat:
$ docker images>
- Yllä oleva antaa meille tämän tuloksen
REPOSITORY TAG IMAGE_ID CREATED SIZE afrozchakure/python-test latest c7857f97ebbd 2 hours ago 933MB>
- Kuvatunnusta käytetään kuvan merkitsemiseen. Syntaksi kuvan merkitsemiseen on:
docker tag /python-test:latest $ docker tag c7857f97ebbd afrozchakure/python-test:latest>
Vaihe 4: Työnnä kuva Docker Hub -tietovarastoon
$ docker push afrozchakure/python-test>
Jos haluat lisätietoja kuvien julkaisemisesta dockerhubissa, katso tämä - Artikla
Hae ja suorita kuva Docker Hubista
1. Jos haluat poistaa tietyn kuvan kaikki versiot paikallisesta järjestelmästämme, käytämme sen kuvatunnusta.
$ docker rmi -f af939ee31fdc>
2. Suorita nyt kuva, se hakee kuvan Docker-keskittimestä, jos sitä ei ole paikallisella koneellasi.
$ docker run afrozchakure/python-test>
Dockerin edut
Seuraavassa on joitain Dockerin etuja:
- Siirrettävyys: Docker-tilat, joissa luodaan kevyitä kannettavia säiliöitä, jotka eivät välttämättä toimi millään koneella taustalla olevista käyttöjärjestelmistä riippumatta.
- Eristäytyminen: Säilöjen läpi kulkeva Docker tarjoaa korkean tason eristyksen mahdollistaen sovellusten toimimisen toisistaan riippumatta ja ratkaisee ongelmat, joita yksi säilö ei vaikuta muihin.
- Toistettavuus: Docker-kehittäjät voivat helposti pakata sovelluksensa ja niiden riippuvuudet uudelleenkäytettäviksi kuviksi. Se mahdollistaa johdonmukaiset ja toistettavat koontiversiot kehitys-, testaus- ja tuotantoympäristöissä.
- DevOps-integraatio : Se edistää yhteistyötä ja automatisointia koko ohjelmistokehityksen elinkaaren ajan kasvavan työmäärän käsittelyssä.
Dockerin vaihtoehdot
Seuraavat ovat Dockerin vaihtoehdot:
- Hillitty : Tarjoaa Docker-yhteensopivan konttimoottorin, joka keskittyy turvallisuuteen ja yhteensopivuuteen, ihanteellinen ympäristöihin, joissa Dockeria ei suositella tai ei ole saatavilla.
- rkt: CoreOS:n kehittämä kevyt konttiajoaika, joka on suunniteltu yksinkertaisuuteen, turvallisuuteen ja koostettavuuteen ja joka tarjoaa vaihtoehdon Dockerin konttikäyttöajalle.
- LXC (Linux-säilöt): Tarjoaa käyttöjärjestelmätason virtualisoinnin useiden erillisten Linux-järjestelmien (säilöjen) ajamiseen yhdellä isännällä, mikä tarjoaa kevyen vaihtoehdon Dockerille tietyissä käyttötapauksissa.
- pakattu: Docker, Inc:n kehittämä alan standardin mukainen ydinkonttiajoaika, joka tarjoaa minimaalisen ja vakaan alustan konttisovellusten rakentamiseen. Sitä käytetään usein alemman tason vaihtoehtona Dockerille kehittyneemmissä konttiorkesterijärjestelmissä, kuten Kubernetes.
Docker Security
Seuraavassa on joitain oivalluksia telakointiaseman tietoturvasta:
- Eristäytyminen : Docker-säiliöt tarjoavat vahvan eristyksen, joka varmistaa sovellusten käytön ja käsittelyn.
- Muuttumaton infrastruktuuri : Se edistää muuttumattoman infrastruktuurin käyttöä, jossa säilöt rakennetaan muuttumattomista kuvista, jotka ovat versioohjattuja.
- Resurssirajoitukset: Sen avulla voit määrittää resurssirajoitukset säilöille, kuten suorittimen ja muistin rajoitukset.
- Turvaskannaus: Se tarjoaa sisäänrakennetut suojaustarkistustyökalut, joiden avulla voit tarkistaa säilökuvat tunnettujen haavoittuvuuksien ja haittaohjelmien varalta ennen käyttöönottoa.
Johtopäätös
Joten olet oppinut Dockerin perusteista, virtuaalikoneiden ja Docker-säilöjen eroista joidenkin Dockerin yleisten terminologioiden mukaisesti. Lisäksi kävimme läpi Dockerin asennuksen järjestelmiimme. Loimme sovelluksen Dockerilla ja työnsimme kuvamme Docker Hubiin. Lopuksi opimme, kuinka voimme poistaa tietyn kuvan paikallisesta järjestelmästämme ja ottaa kuvan myöhemmin Docker Hubista, jos sitä ei ole paikallisesti olemassa.
Docker – UKK
Mikä on Docker Hub lyhyesti?
Docker Hub on julkinen rekisteri, johon käyttäjät/kehittäjät voivat tallentaa ja jakaa luomiaan järjestelmäkuvia, jolloin ne voivat helposti käyttää ja käyttää kuvia muille ohjelmistokehittäjille.
linux tiedostojärjestelmä
Mitä Docker Hubin käyttöön tarvitaan?
Käyttääkseen Docker Hubia käyttäjällä tulee olla tili Docker Hub -alustalla. Jos sinulla ei ole tiliä Docker Hubissa, voit luoda sellaisen liittymällä. Kun sinulla on tili Dockerissa, voit suorittaa toimintoja, kuten työnnä ja vedä kuvia Docker Hubiin ja sieltä.
Mitä Docker-lokit ovat?
Docker-daemon ja Docker-säilöt luovat Docker-lokit tekstiviestien muodossa, mikä auttaa sinua ongelmien vianmäärityksessä, seuraamaan sovellusten suorituskykyä ja keräämään tietoja Docker-ympäristösi tilasta.
Mikä on Docker Build?
Docker build on komento, jota käytetään Docker-kuvan rakentamiseen Docker-tiedoston avulla.
Mikä on Docker Ubuntu?
Docker Ubuntu on termi, jota käytetään Docker-palvelun hyödyntämiseen Ubuntu-pohjaisissa käyttöjärjestelmissä. Running Docker sopii parhaiten suosittuun Linux-jakeluun Ubuntuun.