Udrulning af apps med flere services
Udrul en full-stack-applikation med en database- og backend-service ved hjælp af Docker Compose.
Udrulning af apps med flere services er en gratis Grundlæggende Docker og DevOps-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Grundlæggende Docker og DevOps, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Grundlæggende Docker og DevOps-kurset indeholder 4 lektioner i alt.
Implementering af apps med flere tjenester
Velkommen! I denne lektion lærer du, hvordan du gør en full-stack-applikation tilgængelig online ved hjælp af Docker Compose.
Du får se, hvordan du definerer flere tjenester, f.eks. en webapp og en database, og derefter implementerer og administrerer dem samlet.

Vores eksempel: web og database
Vi implementerer en simpel webapplikation, der opretter forbindelse til en database. Det er en almindelig opsætning for mange applikationer i den virkelige verden.
- Webtjeneste: En Python Flask-applikation, der leverer en enkel webside.
- Databasetjeneste: En PostgreSQL-database til lagring af data.
Docker Compose gør det nemt at orkestrere disse to tjenester!
Opbygning af webimaget
Vores webtjeneste har brug for sit eget Docker-image. Her er en forenklet Dockerfile, der opbygger vores Python Flask-applikation.
Den installerer Flask og en PostgreSQL-forbindelse og kører derefter vores app.py.
FROM python:3.9-slim-buster
WORKDIR /app
COPY . /app
RUN pip install --no-cache-dir flask psycopg2-binary
EXPOSE 5000
CMD ["python", "app.py"]`docker-compose.yml`-filen
Denne docker-compose.yml-fil definerer vores to tjenester: web og db. Bemærk, hvordan web-tjenesten opbygges fra vores Dockerfile og opretter forbindelse til db-tjenesten ved hjælp af miljøvariabler.
version: '3.8'
services:
web:
build: .
ports:
- "5000:5000"
environment:
DB_HOST: db
DB_NAME: mydatabase
DB_USER: user
DB_PASSWORD: password
depends_on:
- db
db:
image: postgres:13
environment:
POSTGRES_DB: mydatabase
POSTGRES_USER: user
POSTGRES_PASSWORD: password
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:Start af dine tjenester
For at starte alle tjenester, der er defineret i din docker-compose.yml-fil, bruger du kommandoen docker compose up.
Flaget -d kører containerne i tilstanden "detached", hvilket betyder, at de kører i baggrunden.
# This command starts your multi-service app
# and runs it in the background.
docker compose up -dKontrol af kørende containere
Efter at have kørt docker compose up -d vil du sikkert kontrollere, om alle dine tjenester kører som forventet.
Kommandoen docker compose ps viser tjenesterne samt deres status og porte.
# Check the status of your services
docker compose psOpret forbindelse til din app
Når tjenesterne kører, kan du få adgang til din webapplikation.
- Åbn din webbrowser.
- Gå til
http://localhost:5000.
Du bør se en meddelelse fra vores Flask-app, der bekræfter dens forbindelse til PostgreSQL-databasen!
Skalering af tjenester
En effektiv funktion i Docker Compose er skalering af tjenester. Hvis din webapp skal håndtere mere trafik, kan du nemt øge antallet af instanser af webtjenesten.
Brug flaget --scale sammen med docker compose up.
# Scale the 'web' service to 3 instances
docker compose up --scale web=3 -dStop og fjernelse af tjenester
Når du er færdig med din applikation, kan du stoppe og fjerne alle tjenesterne og deres netværk, der er defineret i din docker-compose.yml.
Kommandoen docker compose down udfører denne oprydning for dig.
# Stop and remove all services
docker compose downHurtig kontrol
Se på den docker-compose.yml-fil, vi brugte. Du har netop startet din applikation med docker compose up -d.
Hvad er den primære kommando til at stoppe og fjerne alle kørende tjenester og deres tilknyttede ressourcer?
Opsummering og næste skridt
Godt arbejde! Du har lært, hvordan du implementerer og administrerer en applikation med flere tjenester ved hjælp af Docker Compose.
- Vi definerede tjenester i
docker-compose.yml. - Vi brugte
docker compose up -dtil at starte tjenester. - Vi kontrollerede status med
docker compose ps. - Vi skalerede tjenester og brugte
docker compose downtil oprydning.
Det er en grundlæggende færdighed til lokal udvikling og test af komplekse applikationer!
Lær Grundlæggende Docker og DevOps med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Udrulning af apps med flere services” gratis?
Ja — alle 3 lektioner i læringssporet Grundlæggende Docker og DevOps, inklusive “Udrulning af apps med flere services”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Grundlæggende Docker og DevOps-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Udrulning af apps med flere services”?
Udrul en full-stack-applikation med en database- og backend-service ved hjælp af Docker Compose. Du øver dig i Grundlæggende Docker og DevOps med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Grundlæggende Docker og DevOps?
Der kræves ingen tidligere erfaring. Grundlæggende Docker og DevOps på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Udrulning af apps med flere services”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Grundlæggende Docker og DevOps-lektion?
Ja. Alle Grundlæggende Docker og DevOps-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Hvad er Docker Compose?
- Skrivning af en Compose-fil
- Udrulning af apps med flere services
- Environment-variabler og .env-filer