Ĉi tio estas maŝintradukita teksto kiu povas enhavi erarojn!
Docker simpligas la deplojon de aplikoj. Anstataŭ instali kaj konfiguri programaron mane sur servilo, vi difinas ĉion en konfigura dosieroj. La rezulto estas reproduktebla, portebla kaj rapida por starigi.
Kio estas Docker Compose?
Per Docker Compose vi difinas plurajn servojn en unu dosiero (docker-compose.yml). Ĉiu servo estas ujo kun sia propra konfiguracio.
services:
web:
image: nginx:latest
ports:
- "80:80"
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
Unu komando starigas ĉion:
docker compose up -d
# Starter tjenestene i bakgrunnen.
# Startas la servojn en la fono.
Ĉu vi bezonas transloĝi la servon al alia servilo? Kopiu la dosieron kaj ekzekutu la saman komandon. Ĉio estas identa.
Kial estas ĉi tio aŭtomatigo?
Penu pri la diferenco:
| Manuala agordo | Kun Docker Compose |
|---|---|
| Instalu Nginx manuale | image: nginx:latest |
| Konfiguru la havenojn | ports: "80:80" |
| Instalu Grafana manuale | image: grafana/grafana:latest |
| Dokumentu ĉiujn paŝojn | Ĉio estas dokumentita en la .yml-dosiero |
| Rekonstruu ĉion sur la sekva servilo | docker compose up -d |
La Docker Compose-dosiero estas la dokumentado. Ĝi precize priskribas kiuj servoj funkcias, kiujn havenojn ili uzas kaj kiel ili estas konfiguritaj.
Utile Docker-komandoj
| Komando | Kion ĝi faras |
|---|---|
docker compose up -d | Startas ĉiujn servojn en la fono |
docker compose down | Haligas kaj forigas ĉiujn ujojn |
docker compose logs -f | Sekvas la logojn en realtempa |
docker compose pull | Elŝutas la plej novan version de ĉiuj bildoj |
docker compose restart | Restartas ĉiujn servojn |
docker ps | Montras funciantajn ujojn |
Volumoj: Konservu datumojn ekster la ujoj
Ujoj estas temporaj. Se vi forigas ujon, ĉiu enhavo malaperos. Por konservi datumojn ni uzas volumojn:
services:
database:
image: postgres:16
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: hemmelig # Kaŝpasvorto por la datumbazo
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:
Jen, la datumbazaj dosieroj estas konservataj en volumeno nomata db-data. Eĉ se vi forigas kaj rekreas la ujojn, la datumoj ankoraŭ estos tie.
Ĝisdatigo de Servoj
Ĝisdatigi Docker-servon estas simpla:
# Alprenu la plej novan version
docker compose pull
# Rekomencu kun la nova versio
docker compose up -d
Komparu tion ĉi kun la ĝisdatigo de manuele instalita programaro, kie vi eble devas elŝuti, konfiguri, kaj esperi ke nenio rompiĝas.
Tasko 1 - Konfiguru Nginx kun Docker Compose
Kreu docker-compose.yml kiu ruligas Nginx-retejon:
- Kriu novan dosierujon kaj krei la dosieron
docker-compose.yml - Definu servon kun
image: nginx:latestsur pordo 80 - Rulu
docker compose up -d - Vizitu
http://localhosten la navigilo
Tasko 2 - Aldonu Servon
Pli daŭrigi docker-compose.yml el tasko 1 per aldona servo. Ekzemple:
- Uptime Kuma sur haveno 3001
- Grafana sur haveno 3000
Startu ĉion per docker compose up -d kaj kontrolu, ke ambaŭ servoj funkcias samtempe.
Resumo
- Docker Compose permesas al vi difini plurajn servojn en unu dosiero
- La Compose-dosiero estas kaj konfiguracio kaj dokumentado
- Volumoj konservas datumojn ekster la ujoj tiel ke ĝi postvivu reŝargojn
- Ĝisdatigo estas
docker compose pull+docker compose up -d - Docker faciligas la movadon de servoj inter serviloj