6. Postgres
Vi har allerede oprettet en Droplet med Ubuntu og Docker hos Digital Ocean. Ideen er nu
at vi skal have Postgres til at køre i en container. Og mere specifikt - den samme version,
som kører lokalt på vores laptops. Det kræver at vi opretter, tilpasser og eksekverer en docker-compose.yml
fil til formålet. Vi skal være omhyggelige med at vælge et godt password til Postgres, så ikke vi bliver hacket. Følg nedenstående vejledning:
Log ind på din droplet som
jetty
og stå i din hjemme folder~jetty
Opret en folderen
deployment
og hop derned:mkdir deployment cd deployment
Opret filen
docker-compose.yml
ved hjælp afnano
:nano docker-compose.yml
Indsæt følgende indhold i
docker-compose.yml
(husk at ændre password):version: '3.9' services: db: image: postgres:16.2 container_name: db restart: unless-stopped environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: <dit_sikre_password> # Change this password and pick a hard one volumes: - ./postgres_data:/var/lib/postgresql/data/ ports: - "5432:5432" volumes: postgres_data:
Gem og luk filen med
Ctrl+X
ogY
ogEnter
Kør
docker compose
:sudo docker compose up -d
Så skulle postgres gerne køre. Du kan tjekke det ved at køre docker ps
og se om containeren db
kører.
- Host name/address: <dit IP nummer på Dropletten>
- Port: 5432
- password: <dit_password> (se docker-compose.yml på din Droplet)
Husk at du skal have åbnet port 5432 i din Droplet Firewall for at kunne tilgå Postgres fra din lokale maskine. Dvs, fra IP nummeret på ydersiden af din router.
sudo docker compose down
(-v) // remove volumes
sudo docker compose down -v
sudo rm -rf ./data
sudo docker logs db