Mikä on Docker Compose: Esimerkki, edut ja peruskomennot | Yksinkertainen oppiminen (2023)

Mikä on mielestäsi minkä tahansa verkkopohjaisen sovelluksen tärkeä ominaisuus? Niitä on monia, mutta minulle se on korkea tuottavuus, ja sitä Docker Compose tekee.

Docker on laajalti käytetty konttityökalu, jota kehittäjät ja käyttöryhmät käyttävät sovellusten luomiseen ja automatisoimiseen virtuaalikoneiden kevyissä säiliöissä. Tämä tehdään sen varmistamiseksi, että sovellukset toimivat tehokkaasti useissa ympäristöissä.

Huomautus: Säilöt ovat ohjelmistopaketti, joka toimii kaikkien sovelluksen suorittamiseen tarvittavien riippuvuuksien kanssa.

Tarkastellaanpa nyt tapausta, jossa haluat käyttää kahta säilöä yhdessä palvelussa? Mitä aiot tehdä? Ymmärretään tämä kysymys esimerkin avulla, jotta se olisi selkeämpi.

Oletetaan, että Dockerissa on useampi kuin yksi kontti. Oletetaan, että verkkopalvelin ja tietokanta toimivat erillisissä säilöissä, mikä on tyypillistä tietorakenteelle. Rakennus, juoksu ja konttien yhdistäminen erilläänDocker-tiedostoton vaikeaa ja voi viedä paljon aikaa. Tässä Docker Compose tulee käyttöön. Se mahdollistaa useiden palvelujen samanaikaisen käytön.

Opi käsitteitä – perusteista edistyneeseen!

Caltech-ohjelma DevOpsissaTutustu ohjelmaan

Mikä on Docker Compose: Esimerkki, edut ja peruskomennot | Yksinkertainen oppiminen (1)

Mikä on Docker Compose?

Docker Compose on työkalu, joka auttaa määrittämään ja jakamaan monisäiliösovelluksia. Composea käyttämällä voimme määritellä palvelut YAML-tiedostoon sekä pyörittää ja purkaa ne yhdellä komennolla.

Ymmärtääksemme Docker Composea, katsotaanpa Myntraa esimerkkinä. Myntra on Amazonin kaltainen muotiverkkokauppasivusto. Vierailet Myntran verkkosivustolla verkkoselaimen kautta ja käyt läpi useita toimintoja, kuten kirjautumisen tilillesi, selaat luetteloa, kirjaudut ulos ja niin edelleen. Jokaisen toiminnan tai palvelun takana on erilaisia ​​tuotteita, kuten tilitietokanta, tuotetietokanta, ostoskoritietokanta ja muut kulissien takana toimivat tuotteet.

Mikä on Docker Compose: Esimerkki, edut ja peruskomennot | Yksinkertainen oppiminen (2)

Jokaista näistä voidaan pitää mikropalveluna. Mitä enemmän mikropalveluita rakennat ympäristöösi, sitä arvokkaampaa on, että jokainen näistä palveluista on säiliöissään. Mutta kehittäjänä sinun pitäisi pystyä hyppäämään säiliöstä toiseen. Tässä voit liittää tämän esimerkin Dockeriin, jossa Docker Compose voi yhdistää eri säilöjä yhdeksi palveluksi.

Docker Composea käytetään useiden säiliöiden ajamiseen yhtenä palveluna. Jokainen täällä olevista säiliöistä toimii erillään, mutta voi tarvittaessa olla vuorovaikutuksessa toistensa kanssa. Docker Compose -tiedostoja on erittäin helppo kirjoittaa YAML-nimisellä komentosarjakielellä, joka onXML-pohjainen kieli, joka tarkoittaa Yet Another Markup Language. Toinen hieno asia Docker Composessa on, että käyttäjät voivat aktivoida kaikki palvelut (säilöt) yhdellä komennolla.

Esimerkiksi:

Jos sinulla on sovellus, joka vaatii NGINX-palvelimen ja Redis-tietokannan, voit luoda Docker Compose -tiedoston, joka voi käyttää molempia säilöjä palveluina ilman, että niitä tarvitsee käynnistää erikseen.

Mikä on Docker Compose: Esimerkki, edut ja peruskomennot | Yksinkertainen oppiminen (3)

Docker Composen edut

  • Yhden isännän käyttöönotto – Tämä tarkoittaa, että voit käyttää kaikkea yhdellä laitteistolla
  • Nopea ja helppo konfigurointi - YAML-skriptien ansiosta
  • Korkea tuottavuus – Docker Compose vähentää tehtävien suorittamiseen kuluvaa aikaa
  • Turvallisuus - Kaikki säiliöt on eristetty toisistaan, mikä vähentää uhkamaisemaa

Nyt saatat ajatella, että Docker Compose on melko samanlainen kuin Docker Swarm, mutta niin ei ole. Tässä on joitain eroja Docker Composen jaDocker Swarm:

Mikä on Docker Compose: Esimerkki, edut ja peruskomennot | Yksinkertainen oppiminen (4)

Ansaitse halutuin DevOps-sertifikaatti!

DevOps Engineer Master -ohjelmaTutustu ohjelmaan

Mikä on Docker Compose: Esimerkki, edut ja peruskomennot | Yksinkertainen oppiminen (5)

Docker Composen peruskomennot

  • Käynnistä kaikki palvelut: Docker Compose up
  • Pysäytä kaikki palvelut: Docker Compose alas
  • Asenna Docker Compose käyttämällä pip:tä: pip install -U Docker-compose
  • Tarkista Docker Composen versio: Docker-compose-v
  • Suorita Docker Compose -tiedosto: Docker-compose up -d
  • Listaa koko prosessi: Docker ps
  • Skaalaa palvelu - Docker Compose up -d -scale
  • Käytä YAML-tiedostoja sovelluspalvelujen määrittämiseen - Docker Compose.yml

Nämä ovat joitain peruskomentoja, joita voit käyttää Docker Composessa. Jos haluat katsoa demon siitä, kuinka voit käyttää kaikkia näitä komentoja Docker Composessa,Klikkaa tästäkatsoa Simplilearnin opetusvideo aloittelijoille.

Asenna Docker Compose

Sukellaanpa syvästi Docker Composen asentamiseen Windowsiin, Linuxiin ja macOS:ään. Ennen asennukseen ryhtymistä meillä on joitain edellytyksiä; Katsotaanpa ja määritellään nämä edellytykset.

Edellytykset

Docker Enginen on oltava asennettuna etä- tai paikallisesti, jotta voimme asentaa Docker Composen.

Katsotaanpa Docker Enginen vaadittuja asetuksia -

  • Docker Compose on esiasennettu työpöytäalustoihin, kuten Docker Desktop for Windows ja Mac.
  • Asenna Docker Engine käyttöjärjestelmällesi Get Docker -sivun ohjeiden mukaisesti Linux-järjestelmissä ja palaa sitten tänne saadaksesi Docker Composen asennusohjeet Linux-järjestelmiin.

Asennus

Alla on yhteenveto Docker Composen asennuksen vaiheista macOS:ssä, Linuxissa ja Windowsissa.

Asenna Docker Compose macOS:ään

Docker Composen käyttäminen macOS:ssä tarvitsee vain Docker Desktop for Macin asennettuna, eikä Docker Composea tarvitse asentaa erikseen.

Asenna Docker Compose Linuxiin

Docker Compose -sovelluksen suorittamiseksi Linuxissa meidän on ladattava Docker Compose -binaari käyttämälläGithubin Compose-arkiston julkaisusivu.

Noudata alla olevia ohjeita asentaaksesi Docker Compose onnistuneesti -

  • Lataa Docker Composen nykyinen vakaa versio suorittamalla alla oleva komento -

sudo curl -L "https://github.com/docker/compose/releases/download//docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/ roskakori/telakka-kirjoita

  • Hae binääriin suoritettavan ohjelman käyttöoikeuksia.

sudo chmod +x /usr/local/bin/docker-compose

  • Seuraavaksi siirry asennustestaukseen suorittamalla alla oleva komento.

docker-compose --versio

Asenna Docker Compose Windowsiin

Docker Composeen käyttäminen Windowsissa edellyttää, että Docker Desktop for Windows on asennettuna, eikä Docker Composea tarvitse asentaa erikseen.

Paranna projektinhallintataitojasi

PRINCE2® Foundation & Practitioner -sertifikaattiTutustu kurssiin

Mikä on Docker Compose: Esimerkki, edut ja peruskomennot | Yksinkertainen oppiminen (6)

Luo kirjoitustiedosto

Seuraava vaihe on luoda kirjoitustiedosto Docker Composea varten.

Luo tämä tiedosto noudattamalla alla olevia ohjeita -

  • Luo tiedosto nimeltä docker-compose.yml projektin juureen.
  • Jatkamme sitten määrittämällä ja mainitsemalla skeeman version -

versio: ""

  • Jotta voimme suorittaa sovelluksemme osana, määritämme luettelon konteista tai palveluista -

versio: ""

palvelut:

Jatkamme sitten palvelun siirtämistä yksi kerrallaan jo luotuun Compose-tiedostoomme.

Määrittele erilaisia ​​palveluita

Sovellussäiliön määrittämiseksi käytämme seuraavaa komentoa -

Docker run -dp 3000:3000 \

-w /app -v "$(pwd):/app" \

--verkkotehtävä-sovellus \

-e MYSQL_HOST=\

-e MYSQL_USER=root \

-e MYSQL_PASSWORD=salainen \

-e MYSQL_DB= \

solmu: 12-alppi \

sh -c "lanka asennus && lanka ajaa dev"

Jos käytämme PowerShellia, voimme käyttää alla olevaa komentoa -

PS> Docker run -dp 3000:3000 `

-w /app -v "$(pwd):/app" `

--verkko all-app `

-e MYSQL_HOST= `

-e MYSQL_USER=root `

-e MYSQL_PASSWORD=salainen `

-e MYSQL_DB= \

solmu: 12-alppi `

sh -c "lanka asennus && lanka ajaa dev"

Toimintapäällikkö vai tilintarkastaja? Sinun valintasi

Lean Six Sigma Green Belt -koulutuskurssiTutustu ohjelmaan

Mikä on Docker Compose: Esimerkki, edut ja peruskomennot | Yksinkertainen oppiminen (7)

Noudata nyt alla olevia ohjeita määrittääksesi Docker Compose -sovelluksen eri palvelut -

1. Meidän on määritettävä säilön kuva- ja palvelumerkintä. Meidän on valittava palvelullemme mukautettu nimi, josta tulee verkkoaliaksemme ja josta on hyötyä MySQL-palvelun määrittelyssä.

versio: "4.2"

palvelut:

sovellus:

kuva: node:12-alpine

2. Lähellä kuvan määritelmää, näet komennon. Siirrämme tämän nyt tiedostoomme.

Huomaa: Tilausta ei tarvita.

versio: "4.2"

palvelut:

sovellus:

kuva: node:12-alpine

komento: sh -c "lanka asennus && lanka ajaa dev"

3. Määrittelemme palvelulle portit komennon -p 3000:3000 -osan siirtämiseksi. Samasta syystä käytämme tässä lyhyttä syntaksia.

versio: "4.2"

palvelut:

sovellus:

kuva: node:12-alpine

komento: sh -c "lanka asennus && lanka ajaa dev"

portit:

- 3000:3000

4. Nyt siirrämme volyymikartoituksen (-v "$(pwd):/app") ja työhakemiston (-w /app) käyttämällä määritelmiä volyymeistä ja work_dir. Volumeilla on myös sekä lyhyt että pitkä syntaksi.

Huomautus: Docker Composen taltiomääritelmien etuna on, että voimme käyttää suhteellisia polkuja nykyisestä hakemistosta.

versio: "4.2"

palvelut:

sovellus:

kuva: node:12-alpine

komento: sh -c "lanka asennus && lanka ajaa dev"

portit:

- 3000:3000

work_dir: /app

määrät:

- ./:/sovellus

5. Ympäristöavaimen avulla meidän on siirrettävä ympäristömuuttujien määritelmät.

versio: "4.2"

palvelut:

sovellus:

kuva: node:12-alpine

komento: sh -c "lanka asennus && lanka ajaa dev"

portit:

- 3000:3000

work_dir: /app

määrät:

- ./:/sovellus

ympäristö:

MYSQL_HOST: mysql

MYSQL_USER: root

MYSQL_PASSWORD: salainen

MYSQL_DB:

Ansaitse halutuin DevOps-sertifikaatti!

DevOps Engineer Master -ohjelmaTutustu ohjelmaan

Mikä on Docker Compose: Esimerkki, edut ja peruskomennot | Yksinkertainen oppiminen (8)

Suorita Application Stack

Nyt meidän on käynnistettävä luomamme kirjoitustiedosto.

  • Varmista ensin, ettei sovelluksesta ole käynnissä muita kopioita (docker rm -f ja docker ps).
  • Docker-compose up -komennolla meidän on käynnistettävä sovelluspino. Jos haluat suorittaa kaiken taustalla, meidän on käytettävä -d-lippua.

docker-compose up -d

Lähtö:

Luodaan verkkoa "app_default" oletusohjaimella

Luodaan asemaa "-mysql-data" oletusohjaimella

Luodaan app_app_1 ... valmis

Sovelluksen_mysql_1 luominen ... valmis

  • Toteuttamalla docker-compose logs -f -komennon meidän on tutkittava lokit. Jokainen palveluiden loki yhdistetään yhdeksi streamiksi. Jos meidän on pidettävä silmällä ajoitusongelmia, tämä on todella kätevää. Lippu -f "seuraa" lokia, joten saat reaaliaikaisia ​​tuloksia, kun niitä luodaan.

Tulos näyttää samalta kuin alla -

mysql_1 | 2019-10-03T03:07:16.083639Z 0 [Huom.] mysqld: valmis yhteyksiä varten.

mysql_1 | Versio: '5.7.27' socket: '/var/run/mysqld/mysqld.sock' portti: 3306 MySQL Community Server (GPL)

app_1 | Yhdistetty mysql db:iin isännässä mysql

app_1 | Kuuntele portti 3000

Huomautus: Viestien tunnistamisen helpottamiseksi palvelun nimi tulostetaan rivin alkuun (yleensä värillinen). Palvelun nimi voidaan sisällyttää lokikomentojen loppuun, jotta voit tarkastella tietyn palvelun lokeja (esimerkiksi Docker-compose logs -f-sovellus).

  • Meidän on voitava käyttää sovellustamme ja nähdä sen käynnissä tässä vaiheessa. Meillä on nyt vain yksi komento jäljellä.

App Stack Docker Dashboardissa

Docker Dashboardista löydämme ryhmän nimeltä app. Tämä on Docker Compose "projektin nimi", jota käytetään säilöjen järjestämiseen yhteen. Projektin nimi on sama kuin sen hakemiston nimi, josta docker-compose.yml löytyy oletuksena.

Mikä on Docker Compose: Esimerkki, edut ja peruskomennot | Yksinkertainen oppiminen (9)

Näemme kaksi kirjoitustiedostossa määritettyä säilöä, jos pyöritämme sovellusta alaspäin. Koska ne noudattavat kaavaa projektin_nimi> palvelun_nimi> replikan numero> kuvaavammilla nimillä. Tämän seurauksena MySQL-tietokantasäiliön ja sovellussäilön tunnistaminen on helppoa.

Mikä on Docker Compose: Esimerkki, edut ja peruskomennot | Yksinkertainen oppiminen (10)

Lisätietoja Dockerista

Jos haluat hallita kaiken Dockerin, tutustu SimplilearniinDockerin perusteellinen sertifiointikurssitänään. Tällä kattavalla kurssilla saat neljä tuntia omatoimista oppimista, neljä luvun lopun tietokilpailua ja mahdollisuuden työskennellä käytännön projekteissa.

Top Articles
Latest Posts
Article information

Author: Edmund Hettinger DC

Last Updated: 03/09/2023

Views: 6141

Rating: 4.8 / 5 (58 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Edmund Hettinger DC

Birthday: 1994-08-17

Address: 2033 Gerhold Pine, Port Jocelyn, VA 12101-5654

Phone: +8524399971620

Job: Central Manufacturing Supervisor

Hobby: Jogging, Metalworking, Tai chi, Shopping, Puzzles, Rock climbing, Crocheting

Introduction: My name is Edmund Hettinger DC, I am a adventurous, colorful, gifted, determined, precious, open, colorful person who loves writing and wants to share my knowledge and understanding with you.