Dit docker-compose bestand biedt een lokale SQL Server instance voor development en testdoeleinden.
- Docker Desktop geïnstalleerd (zie installatie-instructies hieronder)
- Minimaal 2GB RAM beschikbaar voor de container
-
WSL 2 installeren (Aanbevolen voor Windows):
- Wat is WSL? WSL (Windows Subsystem for Linux) maakt het mogelijk om Linux direct op Windows te draaien zonder een virtuele machine. WSL 2 gebruikt een echte Linux kernel, wat zorgt voor betere performance en volledige systeemcompatibiliteit - ideaal voor Docker containers.
- Zie voor handleiding: https://learn.microsoft.com/en-us/windows/wsl/install
- Installeer WSL 2 als je dit nog niet hebt:
wsl --install - Docker Desktop zal automatisch WSL 2 gebruiken voor betere performance
-
Download Docker Desktop voor Windows:
- Ga naar https://docs.docker.com/desktop/install/windows-install/
- Download "Docker Desktop for Windows"
-
Installatie:
- Voer het gedownloade
.exebestand uit als administrator - Volg de installatie wizard
- Belangrijk: Zorg ervoor dat "Use WSL 2 instead of Hyper-V" is aangevinkt (aanbevolen)
- Herstart je computer na installatie
- Voer het gedownloade
-
Verificatie:
- Start Docker Desktop vanuit het Start menu
- Open Command Prompt of PowerShell
- Test de installatie:
docker --version - Test docker-compose:
docker-compose --version
-
Download Docker Desktop voor Mac:
- Ga naar https://docs.docker.com/desktop/install/mac-install/
- Kies de juiste versie voor je processor:
- Intel chip: Docker Desktop for Mac with Intel chip
- Apple silicon (M1/M2): Docker Desktop for Mac with Apple chip
-
Installatie:
- Open het gedownloade
.dmgbestand - Sleep Docker naar je Applications folder
- Start Docker Desktop vanuit Applications
- Open het gedownloade
-
Verificatie:
- Open Terminal
- Test de installatie:
docker --version - Test docker-compose:
docker-compose --version
-
Mogelijke macOS specifieke overwegingen:
- Docker Desktop heeft toegang nodig tot bepaalde mappen
- Je krijgt mogelijk verzoeken om toegang te verlenen via System Preferences > Security & Privacy
Download het docker-compose.yml bestand uit deze map en sla het op in een voor jou terug te vinden lokale folder.
docker-compose.yml bestand staat.
# Navigeer naar de juiste map (pas het pad aan naar jouw situatie)
cd C:\pad\naar\jouw\docker\file\
# Start de services
docker-compose up -d
# Controleer of de containers draaien
docker-compose ps
# Bekijk de logs
docker-compose logs sqlserverConnection String:
Server=localhost,1433;Database=master;User Id=sa;Password=DevPassword123!;TrustServerCertificate=True;
Parameters:
- Server: localhost (of 127.0.0.1)
- Port: 1433
- Username: sa
- Password: DevPassword123!
- Database: master (standaard database)
Als je geen SQL Server lokaal op je machine hebt geïnstalleerd en alleen deze Docker container gebruikt, moet je in je applicaties (zoals .NET, Java, Python, etc.) de connection string aanpassen naar de bovenstaande waarden.
Veel voorkomende situaties:
- Visual Studio projecten - Pas de connection string aan in
appsettings.jsonofweb.config - Entity Framework - Update de connection string in je
DbContextconfiguratie - Java applicaties - Wijzig de database URL in je
application.propertiesofapplication.yml - Python projecten - Pas de database configuratie aan in je settings
- Node.js applicaties - Update de database configuratie in je environment variables of config bestanden
Typische fouten:
- Applicaties die nog verwijzen naar
(LocalDB)of.\SQLEXPRESS - Connection strings die uitgaan van Windows Authentication in plaats van SQL Authentication
- Verkeerde poort nummers of server names
Let op: Deze Docker setup gebruikt SQL Server Authentication (sa gebruiker), niet Windows Authentication!
Adminer is een web-gebaseerde database management tool die automatisch wordt gestart met de Docker containers.
Toegang: http://localhost:8080
Inloggegevens:
- System: Microsoft SQL Server
- Server: sqlserver
- Username: sa
- Password: DevPassword123!
Wat kun je doen met Adminer:
- ✅ Databases aanmaken en beheren - Nieuwe databases creëren, verwijderen en configureren
- ✅ Tabellen ontwerpen - Visueel tabellen maken, wijzigen en relaties definiëren
- ✅ SQL queries uitvoeren - Direct SQL commando's typen en resultaten bekijken
- ✅ Data invoeren en bewerken - Records toevoegen, wijzigen en verwijderen via een gebruiksvriendelijke interface
- ✅ Database structuur bekijken - Overzicht van alle tabellen, views, stored procedures
- ✅ Data exporteren/importeren - Backup maken of data laden vanuit CSV/SQL bestanden
- ✅ Gebruikersbeheer - Database gebruikers en rechten beheren
Voordelen van Adminer:
- Geen installatie nodig (draait in je browser)
- Werkt op alle besturingssystemen
- Lichtgewicht en snel
- Ondersteunt meerdere database types
Voor studenten die meer geavanceerde functionaliteit nodig hebben, is SQL Server Management Studio de professionele tool van Microsoft.
Download: https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
Verbindingsinstellingen voor SSMS:
- Server name: localhost (of 127.0.0.1)
- Authentication: SQL Server Authentication
- Login: sa
- Password: DevPassword123!
Wat kun je extra doen met SSMS:
- ✅ Geavanceerde query editor - IntelliSense, syntax highlighting, execution plans
- ✅ Stored procedures en functions - Ontwikkelen en debuggen van complexe database logica
- ✅ Database diagrammen - Visuele representatie van database relaties
- ✅ Performance monitoring - Query performance analysis en optimalisatie
- ✅ Backup/Restore wizard - Gebruiksvriendelijke backup en herstel procedures
- ✅ Database maintenance - Index management, statistieken updates
- ✅ Security management - Geavanceerd gebruikers- en rechtenbeheer
- ✅ Integration Services - ETL processen en data migratie
- ✅ Reporting Services - Report ontwikkeling en beheer
Wanneer SSMS gebruiken:
- Complex database ontwerp
- Performance optimalisatie
- Professionele development workflows
- Geavanceerde SQL debugging
- Enterprise database beheer taken
# Stop alle services
docker-compose down
# Stop en verwijder volumes (WAARSCHUWING: dit verwijdert alle data!)
docker-compose down -v- Database bestanden worden opgeslagen in een Docker volume
sqlserver_data - Backups kunnen geplaatst worden in de lokale
./sql-backupsmap - Data blijft behouden tussen container restarts
BACKUP DATABASE [YourDatabase]
TO DISK = '/var/opt/mssql/backup/YourDatabase.bak'RESTORE DATABASE [YourDatabase]
FROM DISK = '/var/opt/mssql/backup/YourDatabase.bak'- Controleer of poort 1433 niet al in gebruik is
- Zorg ervoor dat Docker Desktop draait
- Controleer de logs:
docker-compose logs sqlserver
- Wacht 30-60 seconden na het starten (SQL Server heeft tijd nodig om op te starten)
- Controleer de health check:
docker-compose ps - Probeer verbinding te maken via Adminer web interface
- Verhoog de RAM toewijzing aan Docker Desktop
- Stop andere containers die veel resources gebruiken
- Het wachtwoord staat in plain text in het compose bestand
- Voor productie omgevingen gebruik environment files of secrets
- Verander het standaard SA wachtwoord voor productie gebruik
Je kunt de volgende omgevingsvariabelen aanpassen in het docker-compose.yml bestand:
SA_PASSWORD: Verander het SA wachtwoord (moet voldoen aan sterke wachtwoord vereisten)MSSQL_COLLATION: Verander de database collation- Poort mapping: Verander
1433:1433naar een andere lokale poort indien nodig