logo

Kas ir Docker?

Docker ir platformu kā pakalpojuma (PaaS) produktu kopa, kas izmanto operētājsistēmas līmeņa virtualizāciju, lai piegādātu programmatūru pakotnēs, ko sauc par konteineriem. Konteineri ir izolēti viens no otra un apvieno savu programmatūru, bibliotēkas un konfigurācijas failus; viņi var sazināties savā starpā, izmantojot labi definētus kanālus. Visus konteinerus darbina viens operētājsistēmas kodols, un tāpēc tie izmanto mazāk resursu nekā virtuālā mašīna.

Satura rādītājs



Kas ir Docker?

Docker ir atvērtā koda avots konteinerizēšana platforma, ar kuras palīdzību jūs varat iesaiņot savu lietojumprogrammu un visas tās atkarības standartizētā vienībā, ko sauc par konteineru. Konteineri ir maza svara, kas padara tos pārnēsājamus, un tie ir izolēti no pamata infrastruktūras un viens no otra konteineriem. Jūs varat palaist dokera attēls doka konteiners jebkurā iekārtā, kur ir uzstādīts docker, bez atkarībā no operētājsistēma.

Docker ieguva savu popularitāti, pateicoties tā ietekmei uz programmatūras izstrādi un izvietošanu. Tālāk ir minēti daži no galvenajiem iemesliem, kāpēc dockers kļūst populārs.

  1. Pārnesamība: Docker palīdz izstrādātājiem iesaiņot savas lietojumprogrammas ar visām atkarībām vienā vieglā konteinerā. Tas nodrošina konsekventu veiktspēju dažādās skaitļošanas vidēs.
  2. Reproducējamība: Iekapsulējot lietojumprogrammas ar to atkarībām konteinerā, tas nodrošina programmatūras iestatījumu konsekvenci izstrādes, testēšanas un ražošanas vidēs.
  3. Efektivitāte: Docker, izmantojot konteineru arhitektūru, optimizē resursu izmantošanu. Tas ļauj izstrādātājiem palaist vairākas izolētas lietojumprogrammas vienā resursdatora sistēmā.
  4. Mērogojamība: Docker mērogojamības līdzekļi palīdzēja izstrādātājiem atvieglot lietojumprogrammu apstrādi darba slodzes pieauguma laikā.

Kas ir Dockerfile?

The Dockerfile izmanto DSL (Domain Specific Language) un satur norādījumus Docker attēla ģenerēšanai. Dockerfile definēs procesus, lai ātri izveidotu attēlu. Veidojot lietojumprogrammu, jums ir jāizveido Dockerfile, lai kopš Docker dēmons izpilda visus norādījumus no augšas uz leju.



(Docker dēmons, ko bieži dēvē vienkārši par Docker, ir fona pakalpojums, kas pārvalda Docker konteinerus sistēmā.)

mīlivecricket
  • Tas ir teksta dokuments, kas satur nepieciešamās komandas, kuras izpildes laikā palīdz salikt Docker attēlu.
  • Docker attēls tiek izveidots, izmantojot Dockerfile.
Dockerfile

Lai uzzinātu vairāk par Dockerfile, skatiet Docker — Dockerfile koncepcija .

Kas ir Docker arhitektūra un kā darbojas Docker?

Docker izmanto klienta-servera arhitektūru. Docker klients sarunājas ar docker dēmonu, kas palīdz izveidot, palaist un izplatīt docker konteinerus. Docker klients darbojas ar dēmonu tajā pašā sistēmā, vai arī mēs varam attālināti savienot Docker klientu ar Docker dēmonu. Izmantojot REST API, izmantojot UNIX ligzdu vai tīklu, docker klients un dēmons mijiedarbojas viens ar otru. Lai uzzinātu vairāk par docker darbu, skatiet Docker arhitektūra .



Docker arhitektūra

Kas ir Docker Image?

Tas ir fails, kas sastāv no vairākiem slāņiem, ko izmanto, lai izpildītu kodu Docker konteinerā. Tie ir instrukciju kopa, ko izmanto, lai izveidotu doku konteinerus. Docker Image ir izpildāma programmatūras pakotne, kas ietver visu, kas nepieciešams lietojumprogrammas palaišanai. Šis attēls informē, kā konteineram ir jāveido instantiments, nosakot, kuri programmatūras komponenti darbosies un kā. Docker Container ir virtuāla vide, kas apvieno lietojumprogrammas kodu ar visām atkarībām, kas nepieciešamas lietojumprogrammas palaišanai. Lietojumprogramma ātri un uzticami darbojas no vienas skaitļošanas vides uz citu.

Kas ir Docker Container?

Docker konteiners ir attēla izpildlaika gadījums. Ļauj izstrādātājiem iesaiņot lietojumprogrammas ar visām nepieciešamajām daļām, piemēram, bibliotēkām un citām atkarībām. Docker konteineri ir Docker attēlu izpildlaika gadījumi. Konteineros ir viss lietojumprogrammai nepieciešamais komplekts, tāpēc lietojumprogrammu var palaist izolētā veidā. Piemēram, pieņemsim, ka ir Ubuntu OS attēls ar NGINX SERVER, kad šis attēls tiek palaists ar docker run komandu, tad tiks izveidots konteiners un NGINX SERVER darbosies Ubuntu OS.

Kas ir Docker Hub?

Docker Hub ir repozitorija pakalpojums, un tas ir mākoņpakalpojums, kurā cilvēki jebkurā laikā vai jebkurā vietā, izmantojot internetu, nospiež savus Docker konteinera attēlus un arī izvelk Docker konteinera attēlus no Docker Hub. Parasti tas atvieglo attēlu atrašanu un atkārtotu izmantošanu. Tas nodrošina tādas funkcijas kā attēlu ievietošana privātā vai publiskā reģistrā, kurā varat uzglabāt un koplietot Docker attēlus.

Galvenokārt DevOps komanda izmanto Docker Hub. Tas ir atvērtā pirmkoda rīks un ir brīvi pieejams visām operētājsistēmām. Tā ir kā krātuve, kurā mēs glabājam attēlus un izvelkam attēlus, kad tas ir nepieciešams. Ja persona vēlas nospiest/izvilkt attēlus no Docker Hub, viņam ir jābūt pamatzināšanām par Docker. Apspriedīsim Docker rīka prasības.

Kas ir Docker Compose?

Docker Compose izpildīs uz YAML balstītu vairāku konteineru lietojumprogrammu. YAML fails sastāv no visām konfigurācijām, kas nepieciešamas konteineru izvietošanai Docker Compose , kas ir integrēts ar Dokeru bars un sniedz norādījumus konteineru izveidei un izvietošanai. Izmantojot Docker Compose, katrs konteiners ir izveidots tā, lai tas darbotos vienā resursdatorā.

Kā lejupielādēt Docker Desktop?

Docker Desktop nodrošina GUI, lai strādātu ar doku konteineriem, docker attēliem un docker tīkliem. Docker darbvirsma nodrošina atsevišķu vidi, kurā ir Docker Engine, Docker CLI, Docker Compose, Kubernetes, un citi rīki, kas nepieciešami, lai izveidotu, nosūtītu un palaistu lietojumprogrammas konteineru veidā, kas padara to lietotājam draudzīgāku. Lai uzzinātu vairāk, kā instalēt docker darbvirsmu, skatiet Docker Desktop attēla paraugs.

Docker komandas

Ieviešot svarīgākās docker komandas, docker kļuva par jaudīgu programmatūru konteineru pārvaldības procesa racionalizēšanai. Tas palīdz nodrošināt netraucētu izstrādes un izvietošanas darbplūsmu. Tālāk ir norādītas dažas docker komandas, kas tiek izmantotas bieži:

  • Docker Run: To izmantoja konteineru palaišanai no attēliem, norādot izpildlaika opcijas un komandas.
  • Docker Pull: Tas ienes konteinera attēlus no konteinera reģistra, piemēram, Docker Hub, uz vietējo mašīnu.
  • Docker ps : tas palīdz parādīt darbojošos konteinerus kopā ar to svarīgo informāciju, piemēram, konteinera ID, izmantoto attēlu un statusu.
  • Dokera pietura : Tas palīdz apturēt darbojošos konteinerus, graciozi izslēdzot tajos esošos procesus.
  • Docker Start: Tas palīdz restartēt apturētos konteinerus, atsākot to darbību no iepriekšējā stāvokļa.
  • Docker pieteikšanās: Tas palīdz pieteikties docker reģistrā, ļaujot piekļūt privātām krātuvēm.

Lai uzzinātu vairāk par docker komandām, skatiet sadaļu Docker — instrukciju komandas .

Docker dzinējs

Programmatūra, kas mitina konteinerus, ir nosaukta Docker Engine. Docker Engine ir klienta-servera lietojumprogramma. Dokera dzinējam ir 3 galvenās sastāvdaļas:

  1. Serveris: Tas ir atbildīgs par Docker attēlu, konteineru, tīklu un sējumu izveidi un pārvaldību Docker. To sauc par dēmonu procesu.
  2. REST API : Tas norāda, kā lietojumprogrammas var mijiedarboties ar serveri, un norāda, kā rīkoties.
  3. Klients: Klients ir docker komandrindas saskarne (CLI), kas ļauj mums mijiedarboties ar Docker, izmantojot docker komandas.

Kāpēc izmantot Docker?

Docker var izmantot, lai iesaiņotu lietojumprogrammu un tās atkarības, kas padara to vieglu un vienkāršu koda ātrāku nosūtīšanu un lielāku uzticamību. Docker ļauj ļoti vienkārši palaist lietojumprogrammu ražošanas vidē Docker konteiners var būt neatkarīgs no platformas, ja iekārtā ir instalēts doka dzinējs.

  • Resursu efektivitāte : Docker palīdz maksimāli palielināt resursu izmantošanu, palaižot vairākus konteinerus vienā resursdatorā. Tas palīdz samazināt infrastruktūras izmaksas un uzlabo efektivitāti.
  • Versiju kontrole: Tas vienkāršo lietojumprogrammu un to atkarību versiju izveidi, nodrošinot konsekvenci un atvieglojot sadarbību starp komandām.
  • Mikropakalpojumu veiklība: Tas ļauj pieņemt mikropakalpojumu arhitektūru, veicinot mērogojamību, elastību un kļūdu izolācijas veiklu lietojumprogrammu izstrādi.

Kas ir Docker for AWS?

Docker ir visspēcīgākais rīks lietojumprogrammas palaišanai konteineru veidā. Docker konteineram ir mazs svars, un to var palaist jebkurā operētājsistēmā.

AWS nodrošina Amazon elastīgo konteineru pakalpojumu ( Amazon ECS ) tas ir pilnībā pārvaldīts konteineru pakalpojums, ar kura palīdzību varat izvietot, mērogot un pārvaldīt doka konteinerus. Amazon ECS ir visuzticamākā platforma atbilstoši veiktspējai, un to var integrēt arī ar citiem AWS pakalpojumiem, piemēram, slodzes līdzsvarošanu, pakalpojumu atklāšanu un konteineru stāvokļa uzraudzību. Lai uzzinātu vairāk par Amazon elastīgo konteineru pakalpojums (Amazon ECS) .

Atšķirība starp Docker konteineriem un virtuālajām mašīnām

Tālāk ir norādītas atšķirības starp doku konteineriem un virtuālajām mašīnām.

Docker konteineri

Virtuālās mašīnas

Docker Containers satur bināros failus, bibliotēkas un konfigurācijas failus, kā arī pašu lietojumprogrammu.

Virtuālās mašīnas (VM) darbojas ar hipervizoriem, kas ļauj vairākām virtuālajām mašīnām darboties vienā mašīnā kopā ar savu operētājsistēmu.

Tie nesatur viesu OS katram konteineram, un tie ir balstīti uz pamatā esošo OS kodolu, kas padara konteinerus vieglus.

Katrai virtuālajai mašīnai ir sava operētājsistēmas kopija kopā ar lietojumprogrammu un nepieciešamajiem binārajiem failiem, kas padara to ievērojami lielāku un prasa vairāk resursu.

Konteineri koplieto resursus ar citiem konteineriem tajā pašā resursdatora OS un nodrošina OS līmeņa procesu izolāciju.

Tie nodrošina aparatūras līmeņa procesu izolāciju un tiek lēni sāknēti.

kur es varu atrast pārlūkprogrammas iestatījumus

Instalējiet Docker uz Ubuntu

Šīs darbības palīdzēs jums instalēt docker ubuntu:

1. darbība. Noņemiet veco Docker versiju

  • Izpildiet šo komandu, lai noņemtu veco versiju docker programmatūru:
$ sudo apt-get remove docker docker-engine docker.io containerd runc>

2. darbība: Docker Engine instalēšana

  • Docker dzinēja instalēšanai tiek izmantota šāda komanda:
$ 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>

3. darbība: pārbaudiet Docker instalēšanu

  • Pārbaudiet, vai docker ir veiksmīgi instalēts jūsu sistēmā, mēģinot palaist konteineru ar šādu komandu:
$ sudo docker run hello-world>

Lai iegūtu sīkāku informāciju par docker instalēšanu uz ubuntu, skatiet šo - Raksts

Piemēra piemērs: Lietojumprogrammas ievietošana konteineros, izmantojot Docker

Šīs darbības sniedz norādījumus par lietojumprogrammas konteinerizēšanu, izmantojot Docker:

1. darbība: izveidojiet lietojumprogrammu Dokcerfile un Python

  • Izveidojiet mapi ar 2 failiem (Dockerfile un main.py failu).

2. darbība: izstrādājiet Python kodu

  • Rediģējiet main.py, izmantojot tālāk norādīto kodu, vai arī varat mēģināt izstrādāt savu Python kodu.
Python
#!/usr/bin/env python3 print('Docker and GFG rock!')>

3. darbība. Izstrādājiet Dockerfile

  • Rediģējiet Dockerfile, izmantojot tālāk sniegtos norādījumus par Dockerfile izstrādi:
FROM python:latest COPY main.py / CMD [ 'python', './main.py' ]>

4. darbība: izveidojiet Docker attēlu

  • Kad esat izveidojis un rediģējis failu main.py un Dockerfile, izveidojiet attēlu, kurā ir jūsu lietojumprogramma, izpildot šādu komandu:
$ sudo docker build -t python-test .>
  • Opcija “-t” ļauj definēt attēla nosaukumu. “python-test” ir nosaukums, ko esam izvēlējušies attēlam.

5. darbība: palaidiet programmu Docker Container

  • Kad attēls ir izveidots, jūsu kods ir gatavs palaišanai.
$ sudo docker run python-test>

Lai uzzinātu vairāk par šo jūsu lietojumprogrammas konteinerizēšanu, skatiet šo - Raksts

Piemērs attēla nosūtīšanai uz Docker Hub

Tālāk norādītās darbības palīdz attēla nosūtīšanai uz Dockerhub:

1. darbība: Izveidojiet kontu Docker Hub vai izmantojiet esošu kontu, ja jums tāds jau ir.

2. darbība: Noklikšķiniet uz pogas Izveidot repozitoriju, ievadiet faila nosaukumu un noklikšķiniet uz Izveidot.

3. darbība: Tagad atzīmēs mūsu attēlu un nosūtīs to uz Docker Hub repozitoriju, kuru tikko izveidojām.

  • Tagad palaidiet tālāk norādīto komandu, lai uzskaitītu docker attēlus:
$ docker images>
  • Iepriekš minētais sniegs mums šo rezultātu
REPOSITORY TAG IMAGE_ID CREATED SIZE afrozchakure/python-test latest c7857f97ebbd 2 hours ago 933MB>
  • Attēla ID tiek izmantots attēla marķēšanai. Sintakse attēla marķēšanai ir:
docker tag /python-test:latest $ docker tag c7857f97ebbd afrozchakure/python-test:latest>

4. darbība: Nosūtiet attēlu uz Docker Hub repozitoriju

$ docker push afrozchakure/python-test>

Lai uzzinātu vairāk par attēlu publicēšanu vietnē Dockerhub, skatiet šo - Raksts

Iegūstiet un palaidiet attēlu no Docker Hub

1. Lai noņemtu visas konkrēta attēla versijas no mūsu vietējās sistēmas, mēs izmantojam attēla ID.

$ docker rmi -f af939ee31fdc>

2. Tagad palaidiet attēlu, tas ienesīs attēlu no doka centrmezgla, ja tas nepastāv jūsu vietējā datorā.

$ docker run afrozchakure/python-test>

Docker priekšrocības

Tālāk ir norādītas dažas no Docker priekšrocībām.

  • Pārnesamība: Docker iekārtas ar vieglu pārnēsājamu konteineru izveidi, kas var nebūt spējīgi nevienā iekārtā neatkarīgi no pamatā esošajām operētājsistēmām.
  • Izolācija: Docker caur konteineriem nodrošina augstu izolācijas līmeni, ļaujot lietojumprogrammām darboties neatkarīgi viena no otras, risinot problēmas, kuras viens konteiners neietekmē citu.
  • Reproducējamība: Docker izstrādātāji var viegli iepakot savas lietojumprogrammas un to atkarības atkārtoti lietojamos attēlos. Tas nodrošina konsekventas un reproducējamas versijas izstrādes, testēšanas un ražošanas vidēs.
  • DevOps integrācija : Tas veicina sadarbību un automatizāciju visā programmatūras izstrādes dzīves ciklā, pārvaldot pieaugošo darba slodzi.

Docker alternatīvas

Šīs ir Docker alternatīvas:

  • Apvaldīts : piedāvā ar Docker saderīgu konteineru dzinēju, koncentrējoties uz drošību un saderību, kas ir ideāli piemērots vidēm, kur Docker nav vēlams vai nav pieejams.
  • rkt: Viegls konteinera izpildlaiks, ko izstrādājusi CoreOS, kas izstrādāta vienkāršībai, drošībai un saliekamībai, piedāvājot alternatīvu Docker konteinera izpildlaikam.
  • LXC (Linux konteineri): Nodrošina operētājsistēmas līmeņa virtualizāciju vairāku izolētu Linux sistēmu (konteineru) darbināšanai vienā resursdatorā, piedāvājot vieglu alternatīvu Docker noteiktiem lietošanas gadījumiem.
  • konteineros: Nozares standarta pamata konteineru izpildlaiks, ko izstrādājis Docker, Inc. un piedāvā minimālu un stabilu platformu konteineru lietojumprogrammu izveidei, ko bieži izmanto kā Docker zemāka līmeņa alternatīvu progresīvākām konteineru orķestrēšanas sistēmām, piemēram, Kubernetes.

Docker drošība

Tālāk ir sniegti daži ieskati par dokeru drošību.

  • Izolācija : Docker konteineri nodrošina spēcīgu izolāciju, kas nodrošina lietojumprogrammu darbību un apstrādi.
  • Nemainīga infrastruktūra : Tas veicina nemainīgas infrastruktūras izmantošanu, kur konteineri tiek veidoti no nemainīgiem attēliem, kuru versija tiek kontrolēta.
  • Resursu ierobežojumi: Tas ļauj definēt resursu ierobežojumus konteineriem, piemēram, CPU un atmiņas ierobežojumus.
  • Drošības skenēšana: Tas nodrošina iebūvētus drošības skenēšanas rīkus, kas ļauj pirms izvietošanas skenēt konteinera attēlus, lai atrastu zināmas ievainojamības un ļaunprātīgu programmatūru.

Secinājums

Tātad jūs uzzinājāt par Docker pamatiem, atšķirību starp virtuālajām mašīnām un Docker konteineriem, izmantojot dažus Docker izplatītos terminus. Mēs arī veicām Docker instalēšanu mūsu sistēmās. Mēs izveidojām lietojumprogrammu, izmantojot Docker, un nosūtījām savu attēlu uz Docker Hub. Visbeidzot, mēs uzzinājām, kā mēs varētu noņemt noteiktu attēlu no mūsu vietējās sistēmas un vēlāk izvilkt attēlu no Docker Hub, ja tas lokāli nepastāv.

Docker — FAQ

Kas īsumā ir Docker Hub?

Docker Hub ir publisks reģistrs, kurā lietotāji/izstrādātāji var uzglabāt un koplietot viņu izveidotos sistēmas attēlus, ļaujot tiem viegli piekļūt un atkārtoti izmantot attēlus citiem programmatūras izstrādātājiem.

Kas nepieciešams, lai izmantotu Docker Hub?

Lai izmantotu Docker Hub, lietotājam ir jābūt kontam Docker Hub platformā. Ja jums nav Docker Hub konta, varat to izveidot, piesakoties. Kad esat izveidojis kontu pakalpojumā Docker, varat veikt tādas darbības kā push un pull attēlus uz un no Docker Hub.

Kas ir Docker žurnāli?

Docker dēmons un Docker konteineri ģenerēs docker žurnālus īsziņu veidā, kas palīdzēs turpmāk novērst problēmas, pārraudzīt lietojumprogrammu veiktspēju un apkopot informāciju par Docker vides stāvokli.

java int, lai char

Kas ir Docker Build?

Docker build ir komanda, kas tiek izmantota, lai izveidotu Docker attēlu, izmantojot Dockerfile.

Kas ir Docker Ubuntu?

Docker Ubuntu ir termins, ko izmanto Docker pakalpojuma izmantošanai ar Ubuntu balstītām operētājsistēmām. Docker palaišana ir vislabāk piemērota populārajai Linux izplatīšanai Ubuntu.