# Slik installerer du WordPress i Docker-containere

Lær hvordan du kjører en WordPress-installasjon i Docker-containere, både manuelt og med Docker Compose. WordPress-utviklere vil ha nytte av å kjøre WordPress i Docker-containere. Docker gjør det enkelt å teste flere WordPress-konfigurasjoner og starte en ny WordPress-installasjon med bare noen få enkle kommandoer.

## Krav

For at WordPress skal fungere problemfritt i Docker-containere, trenger du en oppdatert og støttet Linux-distribusjon. Eldre versjoner som CentOS 7 eller Ubuntu 14.04 er utdaterte og bør erstattes med moderne alternativer. Anbefalte alternativer er blant annet:

- Ubuntu 22.04 LTS eller nyere
- [Debian 12](https://www.ionos.com/nb-no/digitalguide/server/kunnskap/debian-den-universelle-systemprogramvaren/) eller nyere
- En aktuell versjon av Red Hat Enterprise Linux (RHEL) eller AlmaLinux

Du må også ha [Docker installert](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/docker-veiledning-installasjon-og-foerste-skritt/) og klart til bruk. Minimumskravet er Docker **20.10 eller nyere** for å kunne dra nytte av de nyeste sikkerhets- og ytelsesforbedringene. Hvis du ønsker å bruke Docker Compose, må du sørge for at du bruker minst versjon 2.x, siden eldre versjoner ikke lenger vedlikeholdes aktivt.

Grunnleggende kunnskap om kommandolinjen og [kjennskap til Docker Compose](https://www.ionos.com/nb-no/digitalguide/server/konfigurasjon/veiledning-i-docker-compose/) og Docker er en fordel. Hvis du planlegger et større eller skalerbart oppsett, er det verdt å se nærmere på Kubernetes for profesjonell containerorkestrering.

## Slik kjører du WordPress i Docker-containere

En vellykket WordPress-installasjon består av tre elementer:

- WordPress-programvaren
- En MySQL- eller MariaDB-database
- De siste installasjonstrinnene fullføres i en nettleser

I eksemplene nedenfor vil WordPress og MySQL/MariaDB kjøre i separate, sammenkoblede containere. Containeren som kjører WordPress-programvaren, vil bli tilordnet en port på vertsmaskinen, slik at du kan få tilgang til den via en nettleser.

### Kjøre en MySQL/MariaDB-container

Når Docker er i gang, er det første trinnet å konfigurere databasen. Begynn med å starte en container med navnet `my-db`. Du kan bruke enten 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 å alltid bruke et sikkert passord til databasen din. Å lagre passord som miljøvariabler kan også utgjøre en potensiell sikkerhetsrisiko. I stedet er det best å bruke en **Docker Secret** eller en sikret konfigurasjonsfil.

### Opprette en database

Når du har opprettet containeren, må du opprette en database for WordPress-installasjonen din.

#### MySQL

Koble til den nyopprettede databasebeholderen ved hjelp av følgende kommando:

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

Opprett en database:

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

#### MariaDB

Koble til den nyopprettede databasebeholderen ved hjelp av følgende kommando:

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

Opprett en database:

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

### Kjøre en WordPress-container

Deretter starter du en container ved hjelp av den offisielle WordPress-bilden. Den vil bli tilordnet vertsport 8080 og koblet til databasecontaineren.

To merknader:

- Hvis du har en brannmur, må du kanskje gi tilgang til port 8080.
- Hvis en annen tjeneste allerede kjører på port 8080, kan du velge en annen port på verten.

Kommandoen varierer litt avhengig av om du bruker MySQL eller MariaDB:

#### MySQL

Start en WordPress-container ved hjelp av 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 hjelp av følgende kommando:

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

Det finnes mange andre miljøvariabler du kan legge til i denne kommandoen hvis du ønsker å overstyre standardinnstillingene, blant annet:

- **`-e WORDPRESS_DB_HOST=[hostname]`**: Standardverdien er IP-adressen og porten til den tilknyttede MySQL/MariaDB-containeren. Denne variabelen lar deg koble til en MySQL/MariaDB-database på en annen server.
- **`-e WORDPRESS_DB_USER=[username]`**: Standardverdien er `root`.
- **`-e WORDPRESS_DB_PASSWORD=[password]`**: Standardverdien er miljøvariabelen `MYSQL_ROOT_PASSWORD` fra den tilknyttede MySQL/MariaDB-containeren.
- **`-e WORDPRESS_DB_NAME=[name]`**: Standardverdien er `"wordpress"`.

For å øke sikkerheten kan det være lurt å ikke kjøre containere på standardbro-nettverket. I stedet kan du opprette et egendefinert nettverk:

```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 containerne dine bedre isolert fra andre, noe som reduserer risikoen for uønskede tilkoblinger. Du kan også konfigurere nettverksregler mer detaljert, for eksempel ved å bruke tilpassede brannmurinnstillinger eller ta i bruk en omvendt proxy.

## Slik fullfører du installasjonen i en nettleser

For de siste trinnene i installasjonen må du åpne WordPress-containeren i en nettleser.

I eksemplet ovenfor har vi tilordnet port 8080 på verten til port 80 (webtjenester) i containeren. Dette betyr at du nå kan få tilgang til containeren via nettleseren din, enten ved hjelp av serverens IP-adresse eller et domenenavn:

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

Gå til nettadressen i nettleseren din, velg installasjonsspråk og klikk på **«Fortsett**».

[![Image: Screenshot showing the WordPress language selection](https://www.ionos.com/nb-no/digitalguide/fileadmin/_processed_/1/e/csm_wp-docker-choose-language_151c6541cf.webp "Screenshot showing the WordPress language selection")](https://www.ionos.com/nb-no/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-choose-language.png) You can now select your installation language in the browser. På neste skjermbilde vises en melding som forbereder deg på neste trinn i oppsettet. Klikk på **«La oss komme i gang!** »-knappen for å fortsette.

[![Image: Screenshot of the WordPress installation prompt](https://www.ionos.com/nb-no/digitalguide/fileadmin/_processed_/e/1/csm_wp-docker-note_8a0a5ea326.webp "Screenshot of the WordPress installation prompt")](https://www.ionos.com/nb-no/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-note.png) The WordPress installation prompt informs you about the next setup step. Skriv nå inn databaseopplysningene dine, slik at filen `wp-config.php` kan opprettes:

[![Image: Screenshot of the WordPress database connection](https://www.ionos.com/nb-no/digitalguide/fileadmin/_processed_/c/3/csm_wp-docker-db-info_5f25200edc.webp "Screenshot of the WordPress database connection")](https://www.ionos.com/nb-no/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-db-info.png) Enter the requested information for your database. Merk at standardbrukeren er «root», med mindre annet er angitt. Skriv inn navnet på databasen du opprettet og passordet du valgte. Når du klikker på «Send», blir du guidet gjennom de neste trinnene i installasjonen.

[![Image: Screenshot of the WordPress installation: site info](https://www.ionos.com/nb-no/digitalguide/fileadmin/_processed_/9/2/csm_wp-docker-page-info_369afff846.webp "Screenshot of the WordPress installation: site info")](https://www.ionos.com/nb-no/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-page-info.png) Enter the requested information about your WordPress site. - **Nettstedstittel:** Skriv inn tittelen på nettstedet ditt.
- **Brukernavn:** Dette er det primære administratorbrukernavnet for nettstedet ditt. Tips: Av sikkerhetsgrunner anbefaler vi at du **ikke** bruker «Admin» eller domenenavnet/URL-en din.
- **Passord:** Sørg for å skrive dette ned før du fortsetter.
- **E-postadresse:** Dette er e-postadressen som er knyttet til administratorkontoen.

Klikk deretter på **«Installer WordPress** »-knappen for å fullføre installasjonen.

[![Image: Screenshot of the successful WordPress installation](https://www.ionos.com/nb-no/digitalguide/fileadmin/_processed_/6/9/csm_wp-docker-success_ffbb3fccf5.webp "Screenshot of the successful WordPress installation")](https://www.ionos.com/nb-no/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-success.png) The success message shows the installation was successful. Når installasjonen er fullført, vises en bekreftelsesmelding, og du kan deretter logge inn på WordPress.

## Slik kjører du WordPress med Docker Compose

Å bruke Docker Compose er en annen måte å kjøre WordPress på. Du finner instruksjoner for installasjon og bruk i artikkelen vår om Docker-orkestrering med Swarm og Compose. Kort sagt lar verktøyet deg definere alle nødvendige tjenester i én enkelt fil og starte dem samtidig.

### Opprette YAML-filen

Opprett først en mappe for prosjektet ditt, og gå inn i den:

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

Opprett en YAML-fil med navnet `docker-compose.yml` ved hjelp av følgende kommando:

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

Innholdet i filen varierer litt avhengig av om du bruker MySQL eller MariaDB:

#### MySQL

Legg til følgende innhold i filen:

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

Lagre og lukk filen.

#### MariaDB

Legg til følgende innhold i filen:

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

Lagre og lukk filen.

### Starte containerne

Deretter bruker du Docker Compose til å starte containerne med følgende kommando:

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

Bruk følgende kommando for å sjekke om containerne er opprettet:

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

For å fullføre installasjonen, gå til WordPress-containeren i en nettleser. Du kan bruke enten serverens IP-adresse eller URL-adressen:

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

## Kubernetes for skalerbare WordPress-distribusjoner

For større oppsett og produksjonsmiljøer kan Kubernetes (K8s) benyttes. Kubernetes gjør det mulig å koordinere og automatisk administrere WordPress-containere på tvers av flere noder. Bruk av et Kubernetes-klynge gir flere fordeler, som automatisk skalering, selvreparerende mekanismer og sentralisert ressursadministrasjon. En måte å implementere dette på er ved hjelp av **Helm**, en pakkehåndterer for Kubernetes:

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

Dette muliggjør en WordPress-løsning med høy tilgjengelighet og god skalerbarhet, med [lastfordeling](https://www.ionos.com/nb-no/digitalguide/server/kunnskap/lastfordelere-fordeling-av-serverbelastning/), automatiske oppdateringer og støtte for failover.


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