# Sådan installeres WordPress i Docker-containere

Lær, hvordan du kører en WordPress-installation i Docker-containere, både manuelt og med Docker Compose. WordPress-udviklere vil finde det nyttigt at køre WordPress i Docker-containere. Docker gør det nemt at teste flere WordPress-konfigurationer og starte en ny WordPress-installation med blot et par enkle kommandoer.

## Krav

For at WordPress kan køre problemfrit i Docker-containere, skal du have en opdateret og understøttet Linux-distribution. Ældre versioner som CentOS 7 eller Ubuntu 14.04 er forældede og bør udskiftes med moderne alternativer. Anbefalede muligheder er blandt andet:

- Ubuntu 22.04 LTS eller nyere
- [Debian 12](https://www.ionos.com/da-dk/digitalguide/server/know-how/debian-den-universelle-systemsoftware/) eller nyere
- En aktuel version af Red Hat Enterprise Linux (RHEL) eller AlmaLinux

Du skal også have [Docker installeret](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/docker-vejledning-installation-og-de-foerste-skridt/) og klar til brug. Minimumskravet er Docker **20.10 eller nyere** for at kunne drage fordel af de seneste sikkerheds- og ydeevneforbedringer. Hvis du vil bruge Docker Compose, skal du sikre dig, at du bruger mindst version 2.x, da ældre versioner ikke længere vedligeholdes aktivt.

Grundlæggende kendskab til kommandolinjen samt [erfaring med Docker Compose](https://www.ionos.com/da-dk/digitalguide/server/konfiguration/vejledning-i-docker-compose/) og Docker er en fordel. Hvis du planlægger en større eller skalerbar løsning, kan det være en god idé at se nærmere på Kubernetes, som tilbyder containerorkestrering i professionel kvalitet.

## Sådan kører du WordPress i Docker-containere

En vellykket WordPress-installation består af tre elementer:

- WordPress-softwaren
- En MySQL- eller MariaDB-database
- De sidste installationstrin udføres i en browser

I eksemplerne nedenfor kører WordPress og MySQL/MariaDB i separate, sammenkoblede containere. Den container, der kører WordPress-softwaren, vil blive tilknyttet en port på værtscomputeren, så du kan få adgang til den via en browser.

### Kørsel af en MySQL/MariaDB-container

Når Docker er i gang, er det første skridt at opsætte databasen. Start med at køre en container ved navn `my-db`. Du kan enten bruge MySQL eller MariaDB, som er en direkte erstatning for MySQL.

#### MySQL

Start en container med følgende kommando:

```none
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mysql:latest
```

#### MariaDB

Start en container med følgende kommando:

```none
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mariadb:latest
```

Note Sørg for altid at bruge en sikker adgangskode til din database. Det kan også udgøre en potentiel sikkerhedsrisiko at gemme adgangskoder som miljøvariabler. I stedet er det bedst at bruge en **Docker Secret** eller en sikker konfigurationsfil.

### Oprettelse af en database

Når du har oprettet din container, skal du oprette en database til din WordPress-installation.

#### MySQL

Opret forbindelse til din nyoprettede databasecontainer ved hjælp af følgende kommando:

```none
docker exec -it my-db mysql -u root -p
```

Opret en database:

```none
CREATE Database wordpress-db;
```

#### MariaDB

Opret forbindelse til din nyoprettede databasecontainer ved hjælp af følgende kommando:

```none
docker exec -it my-db mariadb -u root -p
```

Opret en database:

```none
CREATE Database wordpress-db;
```

### Sådan kører du en WordPress-container

Kør derefter en container ved hjælp af det officielle WordPress-billede. Den vil blive tilknyttet værtsport 8080 og koblet til databasecontaineren.

To bemærkninger:

- Hvis du har en firewall, skal du muligvis give adgang til port 8080.
- Hvis en anden tjeneste allerede kører på port 8080, kan du vælge en anden port på værten.

Kommandoen varierer en smule, afhængigt af om du bruger MySQL eller MariaDB:

#### MySQL

Start en WordPress-container ved hjælp af følgende kommando:

```none
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mysql -d wordpress:latest
```

#### MariaDB

Start en WordPress-container ved hjælp af kommandoen:

```none
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mariadb -d wordpress:latest
```

Der er mange andre miljøvariabler, du kan tilføje til denne kommando, hvis du ønsker at tilsidesætte standardindstillingerne, herunder:

- **`-e WORDPRESS_DB_HOST=[hostname]`**: Standardindstillingen er IP-adressen og porten for den tilknyttede MySQL/MariaDB-container. Denne variabel giver dig mulighed for at oprette forbindelse til en MySQL/MariaDB-database på en anden server.
- **`-e WORDPRESS_DB_USER=[username]`**: Standardværdien er `root`.
- **`-e WORDPRESS_DB_PASSWORD=[password]`**: Standardværdien er miljøvariablen `MYSQL_ROOT_PASSWORD` fra den tilknyttede MySQL/MariaDB-container.
- **`-e WORDPRESS_DB_NAME=[name]`**: Standardværdien er `"wordpress"`.

For at øge sikkerheden kan det være en god idé ikke at køre containere på standard-bridge-netværket. I stedet kan du oprette et brugerdefineret netværk:

```none
docker network create my-wp-network
docker run --name my-db --network my-wp-network -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mysql:latest
docker run --name my-wordpress --network my-wp-network -p 8080:80 -d wordpress:latest
```

Her er dine containere bedre isoleret fra hinanden, hvilket mindsker risikoen for uønskede forbindelser. Du kan også konfigurere netværksreglerne mere detaljeret, f.eks. ved at bruge brugerdefinerede firewall-indstillinger eller implementere en reverse proxy.

## Sådan afslutter du installationen i en browser

For at gennemføre de sidste trin i installationen skal du åbne WordPress-containeren i en browser.

I eksemplet ovenfor har vi omdirigeret port 8080 på værten til port 80 (webtjenester) i containeren. Det betyder, at du nu kan få adgang til containeren via din browser enten ved hjælp af serverens IP-adresse eller et domænenavn:

- `http://<server-ip>:8080`
- `http://example.com:8080`

Gå til webadressen i din browser, vælg installationssprog, og klik på **Fortsæt**.

[![Billede: Screenshot showing the WordPress language selection](https://www.ionos.com/da-dk/digitalguide/fileadmin/_processed_/1/e/csm_wp-docker-choose-language_151c6541cf.webp "Screenshot showing the WordPress language selection")](https://www.ionos.com/da-dk/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-choose-language.png) You can now select your installation language in the browser. På den næste skærm vises en besked, der forbereder dig på næste trin i opsætningen. Klik på knappen **»Kom så!«** for at fortsætte.

[![Billede: Screenshot of the WordPress installation prompt](https://www.ionos.com/da-dk/digitalguide/fileadmin/_processed_/e/1/csm_wp-docker-note_8a0a5ea326.webp "Screenshot of the WordPress installation prompt")](https://www.ionos.com/da-dk/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-note.png) The WordPress installation prompt informs you about the next setup step. Indtast nu dine databaseoplysninger, så filen `wp-config.php` kan oprettes:

[![Billede: Screenshot of the WordPress database connection](https://www.ionos.com/da-dk/digitalguide/fileadmin/_processed_/c/3/csm_wp-docker-db-info_5f25200edc.webp "Screenshot of the WordPress database connection")](https://www.ionos.com/da-dk/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-db-info.png) Enter the requested information for your database. Bemærk, at standardbrugeren er »root«, medmindre andet er angivet. Indtast navnet på den database, du har oprettet, samt den adgangskode, du har valgt. Når du klikker på »Send«, bliver du guidet gennem de næste trin i installationen.

[![Billede: Screenshot of the WordPress installation: site info](https://www.ionos.com/da-dk/digitalguide/fileadmin/_processed_/9/2/csm_wp-docker-page-info_369afff846.webp "Screenshot of the WordPress installation: site info")](https://www.ionos.com/da-dk/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-page-info.png) Enter the requested information about your WordPress site. - **Webstedsnavn:** Indtast navnet på dit websted.
- **Brugernavn:** Dette er det primære administratorbrugernavn til din hjemmeside. Tip: Af sikkerhedsmæssige årsager anbefaler vi, at du **ikke** bruger ‘Admin’ eller dit domænenavn/din URL.
- **Adgangskode:** Sørg for at skrive denne ned, før du fortsætter.
- **Din e-mail:** Dette er den e-mailadresse, der er knyttet til administratorkontoen.

Klik derefter på knappen **»Installer WordPress«** for at afslutte installationen.

[![Billede: Screenshot of the successful WordPress installation](https://www.ionos.com/da-dk/digitalguide/fileadmin/_processed_/6/9/csm_wp-docker-success_ffbb3fccf5.webp "Screenshot of the successful WordPress installation")](https://www.ionos.com/da-dk/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-success.png) The success message shows the installation was successful. Når installationen er færdig, vises der en bekræftelsesmeddelelse, og du kan derefter logge ind på WordPress.

## Sådan kører du WordPress med Docker Compose

Brug af Docker Compose er en anden måde at køre WordPress på. Du kan finde vejledning i installation og brug i vores artikel om Docker-orkestrering med Swarm og Compose. Kort sagt giver værktøjet dig mulighed for at definere alle nødvendige tjenester i én enkelt fil og starte dem alle på én gang.

### Oprettelse af YAML-filen

Opret først en mappe til dit projekt, og gå ind i den:

```none
sudo mkdir wordpress
cd wordpress
```

Opret en YAML-fil med navnet `docker-compose.yml` ved hjælp af følgende kommando:

```none
sudo nano docker-compose.yml
```

Indholdet af filen varierer en smule, afhængigt af om du bruger MySQL eller MariaDB:

#### MySQL

Indsæt følgende indhold i filen:

```none
wordpress:
    image: wordpress:latest
    links:
        - wordpress_db:mysql
    ports:
        - 8080:80
wordpress_db:
    image: mysql
    environment:
        MYSQL_ROOT_PASSWORD: SECURE_PASSWORD
```

Gem filen og luk den.

#### MariaDB

Indsæt følgende indhold i filen:

```none
wordpress:
    image: wordpress:latest
    links:
        - wordpress_db:mariadb
    ports:
        - 8080:80
wordpress_db:
    image: mariadb
    environment:
        MYSQL_ROOT_PASSWORD: SECURE_PASSWORD
```

Gem filen og luk den.

### Start af containerne

Brug derefter Docker Compose til at starte containerne med følgende kommando:

```none
sudo docker-compose up -d
```

Brug følgende kommando til at kontrollere, om containerne er blevet oprettet:

```none
sudo docker-compose ps
```

For at afslutte installationen skal du åbne WordPress-containeren i en browser. Du kan enten bruge serverens IP-adresse eller dens URL:

- `http://192.168.0.1:8080`
- `http://example.com:8080`

## Kubernetes til skalerbare WordPress-installationer

Til større installationer og produktionsmiljøer kan man anvende Kubernetes (K8s). Kubernetes giver mulighed for at koordinere og automatisk administrere WordPress-containere på tværs af flere noder. Brug af et Kubernetes-cluster byder på flere fordele, såsom automatisk skalering, selvreparerende mekanismer og centraliseret ressourceadministration. En måde at implementere dette på er ved hjælp af **Helm**, en pakkehåndtering til Kubernetes:

```none
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-wordpress bitnami/wordpress --set service.type=LoadBalancer
```

Dette muliggør en WordPress-installation med høj tilgængelighed og skalerbarhed, herunder [belastningsfordeling](https://www.ionos.com/da-dk/digitalguide/server/know-how/load-balancers-fordeling-af-serverbelastningen/), automatiske opdateringer og understøttelse af failover.


This is a markdown version of: [https://www.ionos.com/da-dk/digitalguide/server/know-how/wordpress-i-docker-containere/](https://www.ionos.com/da-dk/digitalguide/server/know-how/wordpress-i-docker-containere/) for AI/LLM consumption.