Inrichting – Stap 2: Docker en Railway (Postgres)

Stap 2: Docker installeren en testen

1. Installeer Docker

  1. Download Docker Desktop:
    • Ga naar Docker Downloads en kies de versie die past bij jouw besturingssysteem (Windows, macOS of Linux).
  2. Installeer Docker Desktop:
    • Volg de installatie-instructies. Accepteer de standaardinstellingen, tenzij je specifieke wensen hebt.
  3. Start Docker Desktop:
    • Zorg dat Docker actief is door Docker Desktop op te starten. Op Windows zie je een Docker-icoon in de taakbalk.
  4. Controleer de installatie: Open een terminal en voer het volgende commando uit:bashCode kopiërendocker --version Je zou een versie moeten zien, bijvoorbeeld:Code kopiërenDocker version 24.0.1

2. Test Docker

  1. Voer een testcontainer uit:
    • Gebruik het volgende commando om te testen of Docker goed werkt:bashCode kopiërendocker run hello-world
    • Als alles goed werkt, zie je een bericht dat Docker succesvol een testcontainer heeft uitgevoerd:csharpCode kopiërenHello from Docker!
  2. Probleemoplossing:
    • Windows:
      • Controleer of Virtualization is ingeschakeld in het BIOS/UEFI van je laptop.
      • Zorg dat Docker Desktop toestemming heeft om te draaien.
    • Andere systemen:
      • Controleer dat je gebruiker is toegevoegd aan de Docker-groep:bashCode kopiërensudo usermod -aG docker $USER

3. Configureer Docker

  1. Ruim ongebruikte containers op:
    • Docker kan veel schijfruimte innemen. Gebruik dit commando om ongebruikte containers en images op te schonen:bashCode kopiërendocker system prune
  2. Verhoog resources (indien mogelijk):
    • Open Docker Desktop-instellingen en verhoog het beschikbare RAM en CPU (bijvoorbeeld 2 CPU’s en 4 GB RAM). Dit is vooral handig bij het werken met grotere projecten.

4. Maak een eenvoudige Dockerfile

Nu Docker werkt, maken we een Dockerfile om te oefenen met containerisatie. Deze Dockerfile zal een simpele Python-app containeriseren.

  1. Maak een bestand genaamd Dockerfile in je projectmap:bashCode kopiërentouch Dockerfile
  2. Voeg dit toe aan de Dockerfile:dockerfileCode kopiëren# Basis Python-image gebruiken FROM python:3.10-slim # Werkomgeving instellen WORKDIR /app # Vereisten kopiëren en installeren COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # App-bestanden kopiëren COPY . . # Command om de applicatie te starten CMD ["python", "app/main.py"]
  3. Maak een voorbeeld requirements.txt:bashCode kopiërenecho "fastapi uvicorn" > requirements.txt
  4. Maak een voorbeeld main.py in de map app/:pythonCode kopiërenfrom fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"message": "Hello, CKBA!"}
  5. Bouw en draai de container:
    • Bouw de Docker-image:bashCode kopiërendocker build -t ckba-test .
    • Draai de container:bashCode kopiërendocker run -p 8000:8000 ckba-test
  6. Test je container:
    • Open een browser en ga naar http://localhost:8000.
    • Je zou het bericht {"message": "Hello, CKBA!"} moeten zien.

Checklist voor Stap 2

  • Docker Desktop geïnstalleerd en gecontroleerd met docker --version.
  • Testcontainer uitgevoerd met docker run hello-world.
  • Eenvoudige Python-app container gebouwd en getest.

Virtuele omgeving (venv):

  • Zorg dat deze actief is en dat de benodigde pakketten (fastapi, uvicorn, psycopg2, en python-dotenv) geïnstalleerd zijn.