Skip to main content
Dat 2. semester
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Opsætning af Docker og Postgres

Opsætning af PostgreSQL og pgAdmin

Denne vejledning viser, hvordan du opsætter PostgreSQL og pgAdmin på din egen computer til brug på 2. semester.

De to programmer, PostgreSQL og pgAdmin, kører hver i deres egen Docker-container. PostgreSQL fungerer som databaseserver, mens pgAdmin fungerer som klient, som vi bruger til at arbejde med databasen. Du tilgår pgAdmin gennem en almindelig webbrowser.

Denne videovejledning gennemgår opsætningen, som den er beskrevet i denne vejledning.

Installer Docker Desktop

Installer Docker Desktop.

Docker Desktop er det program, vi bruger til at køre vores Docker-containere på computeren.

Hvis du bruger Windows, kan Docker Desktop have brug for WSL. WSL står for Windows Subsystem for Linux og giver Windows mulighed for at køre et Linux-miljø. Docker bruger dette miljø til at køre Linux-containere.

Hvis Docker Desktop under installationen fortæller, at WSL skal installeres eller opdateres, skal du følge instruktionerne. Du kan blive bedt om at åbne PowerShell som administrator og skrive:

wsl --install

Genstart computeren, hvis Windows beder dig om det.

Bruger du Mac? Du skal ikke installere WSL. Docker Desktop sørger selv for det Linux-miljø, som Docker har brug for.

Hvis Docker Desktop ikke vil starte på Windows

På enkelte Windows-computere kan Docker Desktop have problemer med at starte. Det skyldes typisk problemer med virtualisering eller WSL.

Hvis du får problemer, så prøv først:

  1. Genstart computeren.

  2. Kontrollér, at WSL er installeret og opdateret:

    wsl --update
    
  3. Kontrollér, at hardwarevirtualisering er slået til i computerens BIOS/UEFI.

Hvis problemet fortsætter, så kontakt en underviser, før du begynder at afinstallere Docker eller ændre WSL-konfigurationen. Vi hjælper dig med at finde ud af, hvad der er galt.

Tip: Du behøver ikke selv at kunne løse alle problemer med Docker, WSL og virtualisering. Det vigtigste er at få Docker Desktop til at køre. Vi hjælper med resten.

Hent docker-compose.yml

Download eller kopier filen docker-compose.yml til en mappe på din computer. Du kan for eksempel oprette en mappe med navnet:

docker_setup

Din mappe skal derefter indeholde:

docker_setup
└── docker-compose.yml

Vi skal senere køre Docker fra denne mappe.

Åbn derfor mappen i Stifinder (Windows) eller Finder (Mac).

Åbn derefter en terminal i mappen:

  • Windows: Højreklik i mappen og vælg “Åbn i Terminal”.
  • Mac: Åbn Terminal og sørg for, at terminalen står i den mappe, hvor docker-compose.yml ligger.

Du kan kontrollere, at du står det rigtige sted ved at skrive:

ls

Du skal kunne se:

docker-compose.yml

På Windows PowerShell kan du også skrive:

dir

Når du kan se docker-compose.yml, er du klar til næste trin.

Start Docker

Nu skal vi bede Docker om at starte de programmer, som er beskrevet i docker-compose.yml.

Skriv:

docker compose up -d

Men hvad betyder det egentlig?

docker compose fortæller Docker, at vi vil arbejde med den opsætning, der står i docker-compose.yml.

up betyder, at Docker skal oprette og starte de containere, der er beskrevet i filen.

-d betyder detached mode. Det betyder, at containerne kører i baggrunden, så terminalen bliver frigivet igen, og du kan fortsætte med at skrive andre kommandoer.

I vores setup betyder kommandoen, at Docker blandt andet starter:

  • en PostgreSQL-container, som fungerer som vores databaseserver
  • en pgAdmin-container, som vi bruger som grafisk klient til databasen

Docker sørger samtidig for at oprette det netværk, som containerne skal bruge til at kommunikere med hinanden.

Når kommandoen er færdig, kører PostgreSQL og pgAdmin altså som containere på din computer.

Du behøver ikke starte PostgreSQL og pgAdmin hver for sig. Docker sørger for at starte dem som containere.

Åbn Docker Desktop

Når Docker er startet, kan du se dine containere i Docker Desktop.

Du bør kunne se containere for:

  • PostgreSQL
  • pgAdmin

Du kan også se, om containerne kører, og starte eller stoppe dem fra Docker Desktop.

Når containerne kører, åbner du pgAdmin i din browser ved at gå til:

http://localhost:8080

localhost betyder din egen computer. Port 8080 er den port, som vi har koblet pgAdmin til.

Du behøver normalt ikke køre docker compose up -d, hver gang du vil arbejde med databasen. Når setup’et først er oprettet, kan du normalt nøjes med at starte Docker Desktop. Herfra kan du se og starte dine containere.

Hvis du senere har brug for at starte containerne fra terminalen, kan du bruge:

docker compose start

Hvis containerne ikke allerede er oprettet, bruger du i stedet:

docker compose up -d

Hvis du vil stoppe og fjerne containerne, kan du bruge:

docker compose down

Du behøver altså ikke bruge docker compose down, hver gang du er færdig med at arbejde.

Log ind på pgAdmin

Du kan klikke på linket i Docker Desktop eller skrive localhost:8080 i din browser

  • login: admin@ek.dk (se docker-compose.yml)
  • password: 1234 (se docker-compose.yml)

Forbind pgAdmin med PostgreSQL

Nu skal pgAdmin vide, hvilken PostgreSQL-database den skal forbinde til.

I pgAdmin skal du vælge:

Servers → Register → Server

General

Under fanen General:

  • Name: localhost

Navnet er bare det navn, som forbindelsen får vist i pgAdmin. Du kunne i princippet kalde den noget andet.

Connection

Under fanen Connection skal du skrive:

  • Host name/address: db
  • Port: 5432
  • Username: postgres
  • Password: postgres

Forbindelse til PostgreSQL

Hvorfor hedder serveren db?

PostgreSQL og pgAdmin kører i hver sin Docker-container. Docker har derfor brug for at vide, hvilken container PostgreSQL kører i.

I vores Docker-opsætning hedder PostgreSQL-containeren db. Derfor skriver vi db som Host name/address.

Bemærk: Her skal du ikke skrive localhost. localhost ville betyde pgAdmin-containeren selv, og PostgreSQL kører i en anden container.

Port 5432 er PostgreSQLs standardport.

Gør pgAdmin lidt mere overskueligt

pgAdmin har mange funktioner, som vi ikke får brug for på 2. semester. Du kan derfor skjule nogle af de menupunkter, vi ikke skal bruge.

Vælg:

File → Preferences → Nodes

Her kan du skjule de menupunkter, du ikke har brug for.

Vis/skjul menupunkter