Ĉ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.
Utilitaj Docker-komandoj
| Komando | Kion ĝi faras |
|---|---|
docker compose up -d | Startas ĉiuj servoj en la malantaŭgrundo |
docker compose down | Haltigas kaj forigas ĉiujn kontejnere |
docker compose logs -f | Sekvas la logojn en realtempo |
docker compose pull | Elŝutas la plej novan version de ĉiuj imagoj |
docker compose restart | Restartigas ĉiujn servojn |
docker ps | Montras rultantajn kontejnare |
Volumoj: Konservu datumojn ekster la kontejneron
Kontejneroj estas provizoraj. Se vi fordeligas kontejneron, ĉio la enhavo malaperas. 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 kun ĝisdatigado de mane instalisita programaro, kie vi eble devas elŝuti, agordi, kaj esperi ke nenio rompiĝas.
Tasko 1 - Agordu Nginx kun Docker Compose
Kreasu docker-compose.yml kiu rulumas Nginx-webservron:
- Kreu novan dosierujon kaj kreasu la dosieron
docker-compose.yml - Definu servon kun
image: nginx:latestsur porte 80 - Rulumu
docker compose up -d - Vizitu
http://localhosten la retumilo
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 definu plurajn servicojn en unu dosiero
- La Compose-dosiero estas kaj konfiguro kaj dokumentado
- Volumes konservas datumojn ekster la kontejnero, tiel ke ĝi postvivas restartigojn
- Ĝiĝado de ĝisdatigo estas
docker compose pull+docker compose up -d - Docker faciligas movi servicojn inter serviloj