- Docker Compose võimaldab teil ühest YAML-failist määratleda ja hallata mitut konteinerit, mis lihtsustab mikroteenustel põhinevate rakendustega töötamist.
- Teenuste osa on kohustuslik ning see on täidetud võrkude, mahtude, konfiguratsioonide ja saladustega suhtluse, püsivuse ja konfiguratsiooni juhtimiseks.
- Näited nagu Flask+Redis või täispinu rakendus koos esiserveri, tagaserveri ja andmebaasiga näitavad, kuidas Compose lihtsustab arendust ja juurutamist.
- osa käsud docker koostab üles, alla, ps ja logisid Need moodustavad konteinerite virnade tõstmise, silumise ja peatamise põhilise töövoo.

Kui olete juba konteineritega katsetanud ja näinud, et "päris" rakenduse puhul vajate seda rohkem kui üks teenus töötab samaaegselt (andmebaas, API, frontend, vahemälu...), puutud varem või hiljem kokku Docker Compose'iga. See tööriist võimaldab sul kogu selle varustuse seadistada ühe faili ja paari käsuga, ilma terminalide ja lõputute skriptidega žongleerimiseta.
Selles õpetuses saate teada, mis on Docker Compose ja kuidas selle fail töötab. compose.yaml ja kuidas rakendusi orkestreerida Puhtad mitme konteineriga seadistused: lihtsatest näidetest Flaski ja Redisega kuni keerukamate arhitektuurideni, mis sisaldavad esiserverit, tagaserverit ja andmebaasi. Samuti saate teada võrgustamise, mahtude, konfiguratsioonide, saladuste ja võtmekäskude kohta, et töötada mugavalt arendus- ja nõudlikumates keskkondades.
Mis on Docker Compose ja miks seda tasub kasutada?
Docker Compose on Dockeri laiendus, mis võimaldab määratleda ja hallata mitut konteinerit justkui oleksid need üksainus rakendus. Selle asemel, et iga teenust käsitsi selle "docker run" ja parameetritega käivitada, kirjeldatakse kõik YAML-failis ja käivitatakse see ühe käsuga.
Compose'i ilu seisneb selles, et sellele on ehitatud palju tänapäevaseid rakendusi. mikroteenused, mis asuvad eraldi konteineritesAndmebaas, API, esiots, järjekorrasüsteem, Redise-laadne vahemälu jne. Docker soovitab, et iga konteiner käitaks ühte teenust, seega kui proovite kõik ühte image'i mahutada, saate tulemuseks koletise, mida on raske skaleerida ja hooldada.
Saate samas konteineris käitada kahte või enamat teenust, aga See tühistab paljud Dockeri eelised.Kui üks ebaõnnestub, tõmbab see alla ka teisi; te ei saa skaleerida ainult seda osa, mis saab kõige rohkem koormust, ning logide, ressursside ja tõrgete haldamine muutub suureks segaduseks.
Docker Compose'i abil defineerite iga teenuse eraldi, täpsustades, kuidas nad omavahel ühenduvad, milliseid andmeid nad säilitavad, milliseid porte nad avaldavad, milliseid keskkonnamuutujaid nad kasutavad... Sel viisil. Kui üks konteiner rikki läheb, saavad ülejäänud jätkata toimimist. olenevalt sellest, kuidas te seda konfigureerite, ja konkreetse tüki skaleerimine on sama lihtne kui selle sätete või koopiate arvu muutmine.
Lisaks sobib Compose ideaalselt töövoogudesse CI/CD ja juurutamine tootmiskeskkondaSaate seda otse kasutada selliste tööriistadega nagu Portainer või Docker Swarm ja kui töötate Kubernetesega, võimaldavad sellised projektid nagu Kompose teil tõlkida compose.yaml-faili Kubernetes manifestideks ilma kõike käsitsi ümber kirjutamata.
Docker Compose'i õpetuse järgimise eeldused
Selle õpetuse näidete mugavaks järgimiseks on vaja Docker ja Docker Composite on installitudTänapäeval on kaks peamist teed:
- Dockeri mootor + Dockeri koostamine installitud eraldiseisvate binaarfailidena.
- Dockeri töölaud, mis sisaldab Docker Engine'it, Docker Compose'i ja graafilist liidest.
On oluline, et teil oleks minimaalne vundament Dockeri põhikäsud (pildid, konteinerid, pordid, köited) ja ärge kartke käsurealt käske kasutada. Näited eeldatakse tavaliselt Linux (näiteks Ubuntu 22.04), aga loogika kehtib võrdselt ka Windows ja macOS Docker Desktopiga.
Kontrollige, kas kõik on korras, käivitades selle oma arvutis terminal midagi nii lihtsat nagu „Docker –versioon” ja „Docker composite version”Kui mõlemad käsud vastavad veatult, olete valmis näidetega jätkama.
Faili compose.yaml põhistruktuur
Docker Compose'i süda on fail compose.yaml (või docker-compose.yml)Seal kirjeldame, milliseid teenuseid soovime seadistada ja kuidas need peaksid omavahel seotud olema. Kuigi varem kasutati seda välja version Vormingu versiooni märkimiseks soovitab praegune dokumentatsioon seda mitte määratleda, et alati kasutataks skeemi uusimat versiooni.
Koostamisfailis on mitu võimalikku sektsiooni, kuigi ainult üks on kohustuslik: teenusedSealt saate lisada teisi sektsioone olenevalt projekti keerukusest:
- teenusediga mikroteenuse määratlus (kohustuslik).
- võrgustikud: kohandatud võrgud konteinerite vahelise suhtluse juhtimiseks.
- mahud: mahud andmete säilitamiseks või teenuste vahel jagamiseks.
- configsteenuse konfiguratsioon (nt veebiserveri konfiguratsioonifailid).
- saladusitundliku teabe (paroolid, API-võtmed…) haldamine.
Selles õpetuses näete, kuidas kõiki neid sektsioone tüüpilise projekti jaoks kombineerida, mis sisaldab rakendus, andmebaas ja APIja ka näide veebirakendusest Python koos Flaski ja Redisega.
Docker Compose'i teenused: definitsiooni tuum
Jaotis teenused on oluline osa mis tahes Compose'i failist. Selles defineerite kõik konteinerid, mis moodustavad teie rakenduse, andes neile soovitud nime (näiteks web, database, api, redisJne).
Iga teenuse jaoks saate luua hea hulga parameetridNende hulgas on mõned, mida kasutatakse laialdaselt reaalsetes projektides:
Parameeter build näitab, kus Dockerfile asub millest teenuse kujutis luuakse. Tavaliselt määratakse kontekst (kataloog), kus asub pakendada soovitud rakenduse Dockerfile.
Kui teil on juba loodud pilt või soovite seda registrist kasutada, kasutage image sellele viitamaNimi järgib vormingut [<registry>/][<project>/]<image>[:<tag>|@<digest>]Ja kui teil on vaja kontrollida, millal see pilt alla laaditakse või värskendatakse, saate seda kasutada pull_policy.
Valdkonnas ports Seda kasutatakse hosti ja konteineri vaheliste portide kaardistamiseks.Süntaks on tüüpi [HOST:]CONTAINER[/PROTOCOL]Näiteks kui PostgreSQL-i andmebaas kuulab konteineri sees porti 5432 ja soovite selle hosti pordil 5555 avaldada, peaksite tegema midagi sellist: "5555:5432" sadamate nimekirjas.
Taaskäivitamise poliitikat kontrollitakse restartmis näitab, mida teha, kui konteineri töö lõpeb vea tõttu või see peatub. Tüüpilised väärtused on no, always, on-failure y unless-stoppedvõimaldades kriitiliste teenuste toimimist isegi siis, kui neil esineb aeg-ajalt katkestusi.
Kui üks teenus vajab enne alustamist teise teenuse kättesaadavust, saate kasutada depends_on konteinerite vaheliste sõltuvuste määratlemiseksKlassikaline näide on rakendus, mis nõuab andmebaasi töötamist, et vältida esialgse ühenduse nurjumist.
Konfiguratsiooni ja volituste jaoks on kaks levinud lähenemisviisi: env_file y environment. Koos env_file Sa osutad ühele või mitmele failile .env keskkonnamuutujatega, samal ajal kui environment Saate need otse YAML-is loetleda. Parim tava on kasutada faile. .env et vältida paroolide ja tundlike andmete manustamist faili compose.yaml.
Parameeter volumes võimaldab paigaldada hostiradasid või -mahtusid Konteineris kasutate nii andmete säilitamist kui ka kaustade jagamist teenuste vahel. Siin viidate ainult nendele köidetele, mida saate hiljem ülaltoodud jaotises määratleda. volumes kui teil on vaja neid selgemalt jagada või hallata.
Nende väljade abil saab juba luua üsna terviklikke teenuseid. Composite'i spetsifikatsioon sisaldab järgmist: palju rohkem täiustatud valikuid (tervis, ressursipiirangud, käsud saabasjne), aga nendega on juba kaetud enamik levinumaid kasutusviise.
Näide 1: Pythoni veebirakendus koos Flaski ja Redisiga
Tüüpiline näide Docker Compose'i mõistmiseks on lihtne veebirakendus PythonisFlaski kasutamine lehtede serveerimiseks ja Redise kasutamine mälusisese salvestusruumina külastusloenduri jaoks. Idee seisneb selles, et te ei pea oma masinasse installima Pythoni ega Redist: kõik töötab konteinerites.
Töövoog näeks välja umbes selline: kõigepealt lood projekti jaoks kataloogi ja lisad sinna faili app.py Kolvi koodiga. Selles koodis kasutate hostinimena "redis" ja portina 6379, mis on teie konteineri Redis-teenuse vaikeport.
Külastajate loendurit haldav funktsioon See proovib mitu korda Redisega ühendust luua. Enne allaandmist pidage meeles, et Redise konteineri kättesaadavaks muutumine võib kogu virna tõstmisel võtta paar sekundit.
Lisaks app.py, loote faili requirements.txt Pythoni sõltuvustega (näiteks Flask ja redis-py) ning Dockerfile, mis määrab, kuidas luua veebirakenduse image: baas-Pythoni image (3.7, 3.10 või mis iganes), töökataloog, Flaski keskkonnamuutujad, gcc installimine ja süsteemi sõltuvused, requirements.txt koopia, paketi installimine ja koodi koopia.
Dockerfile'is märgite ka port, mis kuvab konteineri (näiteks 5000) ja te defineerite vaikimisi käsu, tavaliselt flask run --debug või sarnane, nii et see käivitub konteineri loomisel automaatselt.
Kui see kõik on valmis, defineerib fail compose.yaml kaks teenust: üks nimega näiteks web, mis on ehitatud projekti Dockerfile'ist ja paljastab pordi 8000 väliselt (kaardistades hosti pordi 8000 konteineri pordiga 5000) ja teise nimega redis et Tõmba ametlik Redise kujutis Docker Hubist.
Rakenduse käivitamiseks navigeeri lihtsalt projekti kataloogi ja käivita see. "Docker Composer Up"Compose hoolitseb Redise pildi allalaadimise, veebirakenduse pildi loomise ja mõlema teenuse õiges järjekorras käivitamise eest.
Kui see on tööle hakanud, sisestate oma brauseriga http://localhost:8000 (o http://127.0.0.1:8000) ja peaksite nägema sõnumit „Tere maailm” ja a Külastajate loendur, mis suureneb iga kord, kui laadite uuesti leht. Kui uurite kohalikke pilte docker image lsNäete midagi sellist redis y web loodud või alla laaditud.
Kui sa tahad kõike peatada, saad seda teha CTRL+C terminalis, kuhu jätsite käsu "docker compose up" või täidevii docker compose down projektikataloogist. See peatab ja eemaldab selle koostamise käigus loodud konteinerid.
Töövoo täiustamine: sidumisühendused ja koostamise jälgimine
Dockeriga arenduses töötamine on mugavam, kui Sa ei pea pilti ümber ehitama iga kord, kui koodi puudutad. Siin tulevadki mängu Bind Mounts ja uuemates versioonides Docker Compose Watch.
Sidumisühenduse loomine hõlmab teie arvutist konteinerisse kausta paigaldamist. Failis compose.yaml lisate veebiteenusele sektsiooni. volumes mis seob projektikataloogi töökataloogiga konteinerist, näiteks .:/codeNii kajastuvad kõik redaktoris tehtud muudatused koheselt ka konteineris.
Kui aktiveerite muutujaga ka Kolbi silumisrežiimi FLASK_DEBUG=1, käsk flask run See laadib rakenduse automaatselt uuesti, kui tuvastab failides muudatusi, ilma et peaks seda peatama ja taaskäivitama.
Docker Composite Watch läheb sammu võrra kaugemale: saate kasutada „Docker compose watch” või „Docker compose up –watch” See võimaldab Compose'il jälgida projektifaile ja sünkroonida muudatusi konteineritega intelligentsemalt. Faili salvestamisel kopeeritakse see konteinerisse ja arendusserver värskendab rakendust ilma kogu konteinerit taaskäivitamata.
Proovige näiteks tervitussõnumit muuta app.py fraasist "Tere maailm!" sellise fraasini nagu "Tere Dockerist"Salvesta fail, värskenda brauserit ja näed uut teadet koheselt, samal ajal kui külastusloendur jätkab töötamist oma olekut kaotamata.
Ja kui oled töö lõpetanud, nagu ikka, võid tõmmata docker compose down para lülitage konteinerid välja ja puhastage need mis selle virnaga pooleli olid.
Näide 2: Täisserveri rakendus koos esiotsa, tagaotsa ja andmebaasiga
Docker Compose'i nägemiseks mõnevõrra realistlikumas arhitektuuris kujutage ette ülesannete nimekirja rakendus (Todo List) Vue.js-is asuva esiotsa, Node.js-is asuva API ja MongoDB andmebaasiga. Iga osa asub oma kataloogis ja sellel on oma Dockerfile.
Hoidlast võid leida kausta frontend Vue rakenduse ja teisega backend koos Node serveriga. Tagaserver pakub lõpp-punkte ülesannete loomine, loetlemine, värskendamine ja kustutamineja loob ühenduse MongoDB-ga nende salvestamiseks. Esiosa kasutab neid lõpp-punkte brauseris ülesannete loendi kuvamiseks ja haldamiseks.
faili docker-compose.yml See asub projekti juurtes ja määratleb kolm teenust: frontend, backend y databaseEsiserveri teenus luuakse vastavas kaustas asuvast Dockerfile'ist, tavaliselt avaldades sisemise pordi 80 ja kaardistades selle hosti pordiga 5173 (näiteks sama URL-i kasutamiseks nagu kohalikus arenduses).
Tagaserver on loodud kataloogis olevast Dockerfile'ist backend, paljastab pordi 3000 (nii konteineri sees kui ka väljaspool, kui soovite lihtsustada) ja deklareerib sõltuvuse andmebaasist et MongoDB oleks käivitamisel saadaval.
Teenus database kasutage otse MongoDB ametlik pilt ja ehitame köite, ütleme nii mongodb_datasisse /data/db, kuhu Mongo oma andmeid salvestab. See maht deklareeritakse ülemises osas. volumes koostamise käsust, nii et andmed säilivad ka siis, kui konteinerid kustutate ja uuesti loote.
Lõpuks ühenduvad kõik need teenused näiteks kohandatud võrgu kaudu my-network, mis on määratletud jaotises networksSee võimaldab neid teenuse nime järgi lahendada (taustaprogramm saab Mongoga ühenduse luua hostinime abil). database) ja et liiklus on kapseldatud sellesse isoleeritud võrku.
Kui konfiguratsioon on valmis, käivitage docker compose up Projekti keskmes on selle eest vastutav ehita või laadi alla pildid ja käivita kolm konteineritSaate kontrollida, kas kõik on paigas docker compose ps, seejärel juurdepääs http://localhost:5173 et vaadata Vue rakendust oma brauseris ja luua oma esimesed ülesanded.
Võrgustiku loomine Docker Compose'is: teenuste omavaheline ühendamine
Võrgud on kiht, mis võimaldab teie konteineritel Nad "näevad" teineteist ja räägivad kontrollitultVaikimisi loob Docker juba Compose'i jaoks võrgud, kuid nende selgesõnaline määratlemine annab teile rohkem selgust ja kontrolli selle üle, mis saab millega suhelda.
See toimib lihtsalt: iga teenus sisaldab välja networks kus märgite, millistesse võrkudesse see kuulub, ja seejärel ülemises osas networks Sa defineerid need võrgud nende konfiguratsiooniga. Kõige levinum (ja paljudel juhtudel soovitatav) lähenemisviis on draiveri kasutamine. bridge.
Sildvõrgustik loob privaatne ruum võrk teie konteinerite jaoksautomaatse DNS-i lahendusega teenuse nime põhjal. See tähendab, et näiteks kui teie andmebaasiteenust nimetatakse databaseKõik teised samas võrgus olevad teenused saavad ühenduse luua, kasutades ainult database hostinimena.
Näiteks projektis, kus on olemas nii esiserver, tagaserver kui ka andmebaas, võite otsustada luua esiserveri võrgu ja tagaserveri võrgu. Esiserver ühenduks tagaserveriga ja tagaserver andmebaasiga, aga esiserver ja andmebaas... Nad ei peaks tingimata võrku jagamavähendades sisemist avatud pinda.
Koodis tähendab see midagi sama lihtsat kui vastava võrgu määramine igale teenusele ja seejärel nende võrkude määratlemine draiverisildadega. Rakenduse tasandil on lihtsaim lähenemisviis kasutada teenuse nimi hosti nimena ühenduste konfigureerimisel: kohta app a databaseNäiteks lihtsalt märkides, et andmebaasi host on "andmebaas".
Docker Compose'i köited: andmete püsivus
Soovitatav viis on köited konteinerite genereeritud teabe püsimineKui andmebaasidKasutajafailid, varukoopiad jne. Neid kasutatakse ka andmete jagamiseks sama pinu teenuste vahel.
Jaos services Saate köiteid otse ühendada, kasutades volumesAga kui soovite, et see köide oleks ligipääsetav mitme konteineri kaudu või soovite seda selgemalt hallata, defineerite selle ka ülemises osas. volumes failist compose.yaml.
Kujutage ette, et soovite oma andmebaasi jaoks varundussüsteemi seadistada. Andmebaasiteenus ühendaks köite, kuhu see andmeid salvestab, ja teine teenus oleks pühendatud varundustele, mis... Paigaldage sama köide lugemisrežiimis eksportimise või sünkroonimise teostamiseks ilma põhikonteinerit puudutamata.
Docker võimaldab teil köidete konfiguratsiooni täpsustada rohkemate parameetritega (draiveri tüüp, konkreetsed valikud) draiverid välised tegurid jne), kuid enamasti on kõige praktilisem lasta sel juhtuda. Docker haldab mahtusid automaatselt ilma imelike konfiguratsioonidega hulluks minemata.
Oluline on selgelt määratleda, millised kaustad teie teenustes peavad olema püsivad, ja deklareerida need Compose'is köidetena, et te ei kaotaks andmeid konteinerite uuesti loomisel või kujutiste värskendamisel.
Konfiguratsioonid: konfiguratsioonifailide haldamine
Jaotis configs See on loodud konfiguratsioonifailide haldamiseks teie pinu teenustest, mis on sarnased mahtudega, kuid keskenduvad spetsiaalselt konfiguratsioonile.
Mõtle Dockeril töötavale Apache või Nginx serverile. Tõenäoliselt vajad kohanda oma konfiguratsioonifaili Kujutise iga kord uuesti loomine pärast nende failide muutmist on ebaefektiivne ja tüütu, eriti keskkondades, kus parameetreid sageli muudetakse.
koos configs Teenuses saate määrata, mida soovite rakendage kindlat konfiguratsiooni ja seejärel kirjelda seda jaotises configsNende määratlemiseks on mitu võimalust, kõige levinumad on:
fileKonfiguratsioon genereeritakse kohalikust failist.external: kui see on märgitud kuitrueKoostamine eeldab, et konfiguratsioon on juba olemas ja sellele ainult viidatakse.name: Dockeri konfiguratsiooni sisemine nimi, kasulik kombineerimiselexternal: true.
Nii saate oma masina konfiguratsioonifaili värskendada ja naasta tõsta pinu üles ilma baaskujutist uuesti loomata, hoides pildikoodi keskkonnaspetsiifilisest konfiguratsioonist eraldi.
Saladused: volitused ja tundlikud andmed
Jaotis secrets lahendab klassikalise probleemiKuhu ma peaksin salvestama paroole, API-võtmeid ja muud tundlikku teavet ilma, et need oleksid koodis või YAML-is laiali pillutatud?
Nii nagu konfiguratsioonide puhul, saab ka saladusi defineerida erineval viisil.Tavaline asi on:
file: saladus genereeritakse faili sisust (näiteks võtmega tekstifail).environmentSaladus luuakse teie süsteemi keskkonnamuutuja väärtuse abil.external: näitab, et saladus on juba loodud ja sellele tuleb ainult viidata, mis on kasulik väljastpoolt hallatavate saladuste ülekirjutamise vältimiseks.name: saladuse sisemine nimi, eriti oluline kombineerimiselexternal: trueteise tööriista loodud saladustega.
Saladuste abil saate luua konteinereid, mis vajavad juurdepääsu neile volitustele lugege neid kontrollitud viisil ilma et peaksite neid koodihoidlas või compose.yaml-failis nähtavaks jätma, tugevdades oluliselt teie juurutuste turvalisust.
Mitme failiga töötamine Koostamine ja kaasamine
Suurtes projektides pole haruldane, et teie rakendus on jagatud mitmeks teenuseks, mida mõnikord haldavad erinevad meeskonnad. Sellistel juhtudel on praktiline... eralda konfiguratsioon mitmeks koostamisfailiks arhitektuuri paremaks modulariseerimiseks.
Tüüpiline lähenemisviis on omada compose.yaml rakenduse põhifail ja muud failid infrastruktuuri osade jaoks. Näiteks saate Redise definitsiooni teisaldamine või muud failitoe teenused infra.yaml ja kirjuta põhitekstis ainult see, mis otseselt sinu rakendust puudutab.
Selleks loote faili infra.yaml oma sektsiooniga services kuhu te näiteks kogu Redise teenuse jätate. Seejärel teie compose.yaml peamine, lisate jaotise include mis viitab failile infra.yaml.
Kui jooksed docker compose up Projekti kataloogist vali Compose Ühenda mõlemad failid ja see kuvab kõik teenused justkui ühes YAML-is, aga loogika on ikkagi eraldatud ja paremini organiseeritud.
See tehnika lihtsustab erinevate meeskondade jaoks oma Compose-failide haldamist ja globaalse rakenduse kokkupanekut include-funktsioonide abil, mis on väga kasulik järgmistes olukordades: arhitektuurid kümnete konteineritega või keskkonnad, kus on palju jagatud infrastruktuuri.
Olulised Dockeri koostamiskäsud
Kuigi Compose'il on hea käskude kataloog, kasutab enamik inimesi igapäevatöös käputäis neid korduvaltOluline on neid omandada, sest need määravad teie töövoo.
Kõige tähtsam on docker compose upSee käsk loob vajalikud pildid (kui neid veel pole), loob konteinerid, konfigureerib võrgud ja draivid ning käivitab kõik teie Compose-failis määratletud teenused. Seda käsku kasutate pinu käivitamiseks.
Tavaliselt kombineeritakse seda valikuga -d käivitada see "eraldi" režiimisSee tähendab, et taustal. Nii ei täida sa terminali logidega ja saad seda seanssi teiste käskude jaoks edasi kasutada. Näiteks: docker compose up -d.
Tõstetud eseme peatamiseks ja puhastamiseks kasutate docker compose downmis peatab ja eemaldab konteinerid, võrgud ning valikuliselt seotud pildid ja köited. Kaks väga levinud lippu on siin --rmi (piltide kustutamiseks) ja -v (jaotises määratletud mahtude eemaldamiseks volumes).
Kui soovite näha, millised konteinerid on projekti osa ja milline on nende olek, saate käivitada käsu docker compose psSee loetleb iga teenuse, selle oleku (üles, suletud jne) ja avatud pordid, mis on väga kasulik selle kontrollimiseks, kas kõik töötab õigesti pärast up.
Kui käivitate oma pinu lahtiühendatud režiimis, siis logid terminalis ei ilmu. Nende vaatamiseks peate kasutama... docker compose logskas globaalselt või teenuse järgi filtreerides. Lipp -f See võimaldab teil logisid reaalajas jälgida, mis on väga kasulik konkreetse teenuse silumine ilma et oleks vaja konteineri sisemusele ligi pääseda.
Tüüpiline töövoog: defineeri compose.yaml, käivitage a docker compose up -d, kontrollige docker compose ps, vaadake logid üle docker compose logs -f <servicio> Kui midagi läheb valesti ja olete lõpetanud, kasutage docker compose down et kõik puhtaks jätta.
Kui sa kunagi ära eksid, docker compose --help See näitab sulle saadaolevate alamkäskude ja valikute loendit, mis aitab sul meeles pidada, mida iga asi teeb, ilma et peaksid dokumentatsiooni juurde minema.
Kõike eelnevat arvesse võttes põhitööriist Kõigile, kes töötavad konteineritega peale üksikute projektide, on Compose suurepärane tööriist. See võimaldab teil arendada otse keskkonnas, mis on väga sarnane (või identne) tootmiskeskkonnaga, juhtida teenuseid, võrke ja andmeid lihtsast YAML-failist ning vältida hulgaliselt ühilduvus- ja juurutamisprobleeme, mis paratamatult tekivad ainult "lokaalselt" ilma konteineriteta töötades. Kui olete harjunud oma projektide jaoks head Compose YAML-faili kirjutama, on raske tagasi pöörduda.
Kirglik kirjanik baitide maailmast ja üldse tehnoloogiast. Mulle meeldib jagada oma teadmisi kirjutamise kaudu ja just seda ma selles ajaveebis teengi, näitan teile kõike kõige huvitavamat vidinate, tarkvara, riistvara, tehnoloogiliste suundumuste ja muu kohta. Minu eesmärk on aidata teil digimaailmas lihtsal ja meelelahutuslikul viisil navigeerida.
