Tämä on konekäännetty teksti, joka saattaa sisältää virheitä!
Docker yksinkertaistaa sovellusten käyttöönottoa. Sen sijaan, että asentaisit ja konfiguroisit ohjelmiston manuaalisesti palvelimelle, määrittelet kaiken konfiguraatiotiedostoissa. Tuloksena on toistettava, siirrettävä ja nopea asennus.
Mikä on Docker Compose?
Docker Composella määrittelet useita palveluita yhdessä tiedostossa (docker-compose.yml). Jokainen palvelu on kontti omalla konfiguraatiollaan.
services:
web:
image: nginx:latest
ports:
- "80:80"
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
Yksi komento asettaa kaiken:
docker compose up -d
# Starter tjenestene i bakgrunnen.
# Käynnistää palvelut taustalla.
Tarvitsetko siirtää palvelun toiselle palvelimelle? Kopioi tiedosto ja suorita sama komento. Kaikki on identtistä.
Miksi tämä on automatisointia?
Mieti eroa:
| Manuaalinen asennus | Docker Composen kanssa |
|---|---|
| Asenna Nginx manuaalisesti | image: nginx:latest |
| Konfiguroi portit | ports: "80:80" |
| Asenna Grafana manuaalisesti | image: grafana/grafana:latest |
| Dokumentoi kaikki vaiheet | Kaikki on dokumentoitu .yml-tiedostossa |
| Toista kaikki seuraavalla palvelimella | docker compose up -d |
Docker Compose -tiedosto on dokumentaatio. Se kuvaa tarkasti, mitkä palvelut ovat käynnissä, mitä portteja ne käyttävät ja miten ne on konfiguroitu.
Hyödyllisiä Docker-komentoja
| Komento | Mitä se tekee |
|---|---|
docker compose up -d | Käynnistää kaikki palvelut taustalla |
docker compose down | Pysäyttää ja poistaa kaikki kontit |
docker compose logs -f | Seuraa lokeja reaaliajassa |
docker compose pull | Hakee uusimman version kaikista imageista |
docker compose restart | Käynnistää kaikki palvelut uudelleen |
docker ps | Näyttää käynnissä olevat kontit |
Volumes: Tallenna dataa kontainerin ulkopuolelle
Kontainerit ovat tilapäisiä. Jos poistat kontainerin, kaikki sen sisältö katoaa. Säilyttääksemme dataa käytämme volumeja:
services:
database:
image: postgres:16
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: hemmelig
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:
Tässä tietokantatiedostot tallennetaan nimellä db-data olevaan volyymiin. Vaikka poistaisit ja luot uudelleen kontainerin, tiedot säilyvät silti.
Palveluiden päivittäminen
Docker-palvelun päivittäminen on helppoa:
# Hae uusin versio
docker compose pull
# Käynnistä uudelleen uudella versiolla
docker compose up -d
Vertaa tätä manuaalisesti asennettavan ohjelmiston päivittämiseen, jossa saatat joutua lataamaan, määrittämään ja toivomaan, ettei mikään mene rikki.
Tehtävä 1 – Asenna Nginx Docker Composen avulla
Luo docker-compose.yml, joka käynnistää Nginx-web-palvelimen:
- Luo uusi kansio ja luo tiedosto
docker-compose.yml - Määrittele palvelu käyttäen
image: nginx:latestportissa 80 - Suorita
docker compose up -d - Vieraile osoitteessa
http://localhostselaimessa
Tehtävä 2 – Lisää palvelu
Laajenna docker-compose.yml -tiedostoa tehtävästä 1 yhdellä lisäpalvelulla. Esimerkiksi:
- Uptime Kuma portissa 3001
- Grafana portissa 3000
Käynnistä kaikki komennolla docker compose up -d ja varmista, että molemmat palvelut toimivat samanaikaisesti.
Yhteenveto
- Docker Compose antaa sinun määritellä useita palveluita yhteen tiedostoon
- Compose-tiedosto on sekä konfiguraatio että dokumentaatio
- Volyymit tallentavat dataa konttien ulkopuolelle, jotta se säilyy uudelleenkäynnistyksissä
- Päivitys on
docker compose pull+docker compose up -d - Docker tekee palveluiden siirtämisestä palvelimien välillä helppoa