Compose-tiedoston kirjoittaminen
Opetelkaa YAML-syntaksi, jolla `docker-compose.yml`-tiedostossa määritetään palvelut, verkot ja volyymit.
Compose-tiedoston kirjoittaminen on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
Compose-tiedosto: rakennuspiirustus
Tervetuloa kirjoittamaan Docker Compose -tiedostoja! docker-compose.yml-tiedosto on rakennuspiirustuksesi usean kontin Docker-sovellusten määrittämiseen ja suorittamiseen.
Se käyttää YAML-syntaksia sovelluksesi palveluiden, verkkojen ja volumejen määrittämiseen yhdessä tiedostossa.

YAML: nopea kertaus
Docker Compose -tiedostot kirjoitetaan YAML-muodossa (YAML Ain't Markup Language). Se on ihmisille helppolukuinen tiedon sarjallistamisen standardi.
- Avain–arvo-parit:
key: value - Luettelot: Kohteet alkavat yhdysmerkillä (
- item) - Sisennys: Ratkaisevan tärkeä rakenteen ja hierarkian määrittämisessä. Käytä välilyöntejä, älä sarkaimia!
Avain `version`
Jokainen docker-compose.yml-tiedosto alkaa version-avaimella. Se määrittää Compose-tiedoston muotoversion ja auttaa Docker Composea ymmärtämään, miten tiedosto tulkitaan.
Useimmille nykyaikaisille sovelluksille suositellaan versiota '3.8' tai vastaavaa '3.x'-versiota.
version: '3.8'Määritä `services`
services-osiossa määrität sovelluksesi muodostavat yksittäiset kontit eli palvelut. Jokainen palvelu edustaa jotakin komponenttia, kuten verkkopalvelinta tai tietokantaa.
Luettelet jokaisen palvelun services-osion alla itse valitsemallasi nimellä.
version: '3.8'
services:
web:
# Service configuration goes here
database:
# Another service's configurationPalvelun `image` ja `ports`
Palvelumäärityksen sisällä image määrittää käytettävän Docker-levykuvan, esimerkiksi nginx:latest. ports-avain yhdistää kontin portit isäntäkoneen portteihin ja mahdollistaa ulkoisen käytön.
"80:80"yhdistää isäntäkoneen portin 80 kontin porttiin 80.
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"Palvelun `volumes`
Palvelun volumes-avaimen avulla voit liittää polkuja isäntäkoneeltasi konttiin tai käyttää nimettyjä volumeja pysyvään tallennukseen.
Tässä esimerkissä paikallinen hakemisto ./app liitetään kontin sisällä olevaan polkuun /usr/src/app.
version: '3.8'
services:
app:
image: my-node-app
volumes:
- ./app:/usr/src/appPalvelun `environment`-muuttujat
Käyttäkää environment-avainta välittääksenne ympäristömuuttujia palvelunne säilöille. Tämä on olennaista asetuksille, jotka voivat muuttua ympäristöjen välillä, kuten tietokantayhteysmerkkijonoille.
Muuttujat voidaan ilmoittaa avain–arvo-pareina tai luettelomuodossa.
version: '3.8'
services:
backend:
image: my-api
environment:
- DATABASE_URL=postgres://user:pass@host:5432/db
- NODE_ENV=developmentYlimmän tason `networks` ja `volumes`
Sen lisäksi, että määrittelette ne palveluiden sisällä, voitte ilmoittaa mukautettuja nimettyjä taltioita ja verkkoja myös docker-compose.yml-tiedoston ylimmällä tasolla.
Näin tietojen säilytyksen ja säilöjen välisen viestinnän määritykset ovat järjestelmällisempiä ja uudelleenkäytettäviä.
version: '3.8'
services:
# ... service definitions ...
networks:
my_app_network:
# custom network configuration
volumes:
db_data:
# named volume configurationKaikki yhdessä
Tässä on pieni esimerkki, joka kokoaa oppimamme yhteen. Siinä määritellään verkkopalvelu ja tietokantapalvelu sekä käytetään imagea, portteja ja nimettyä taltiota.
Huomaatte, miten sisennys luo rakenteen.
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- web_content:/usr/share/nginx/html
db:
image: postgres:13
environment:
- POSTGRES_DB=mydb
- POSTGRES_USER=user
- POSTGRES_PASSWORD=secret
volumes:
web_content:
db_data:Compose-tiedoston tarkistus
Mikä seuraavista YAML-katkelmista määrittelee oikein Docker Compose -palvelun nimeltä 'api', käyttää 'myapi:1.0'-imagea ja julkaisee säilön portin 3000 isännän portissa 8080?
Kertaus: Compose-tiedoston perusteet
Hienoa työtä! Olette oppineet docker-compose.yml-tiedoston kirjoittamisen perusteet.
- Tiedosto alkaa
version-määrityksellä. servicesmäärittää sovelluksen komponentit.- Kukin palvelu käyttää
image-määritystä, voi julkaistaports-portteja, käyttäävolumes-taltioita tietojen säilytykseen ja määrittääenvironment-muuttujia. - Ylimmän tason
networksjavolumesmahdollistavat edistyneet asetukset.
Tämän YAML-rakenteen hallitseminen on tärkeää usean säilön sovellusten orkestroinnissa!
Opi DevOps-bootcamp tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 142
- Oppitunnit
- 568
Usein kysytyt kysymykset
Onko oppitunti ”Compose-tiedoston kirjoittaminen” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Compose-tiedoston kirjoittaminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Compose-tiedoston kirjoittaminen”?
Opetelkaa YAML-syntaksi, jolla `docker-compose.yml`-tiedostossa määritetään palvelut, verkot ja volyymit. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Compose-tiedoston kirjoittaminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä DevOps-bootcamp-oppitunnilla?
Kyllä. Jokainen DevOps-bootcamp-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Mikä Docker Compose on?
- Compose-tiedoston kirjoittaminen
- Usean palvelun sovellusten käyttöönotto
- Ympäristömuuttujat ja .env-tiedostot