# Kako namestiti WordPress v Docker kontejnerjih

Preberite, kako zagnati namestitev WordPressa v Dockerjevih kontejnerjih, tako ročno kot z uporabo Docker Compose. Razvijalcem WordPressa bo zagnanje WordPressa v Dockerjevih kontejnerjih v veliko pomoč. Docker omogoča enostavno testiranje različnih konfiguracij WordPressa in zagon nove namestitve WordPressa z le nekaj preprostimi ukazi.

## Zahteve

Da bi WordPress v Dockerjevih kontejnerjih deloval brez težav, potrebujete najnovejšo in podprto distribucijo Linuxa. Starejše različice, kot sta CentOS 7 ali Ubuntu 14.04, so zastarele in jih je treba zamenjati s sodobnejšimi alternativami. Priporočene možnosti so:

- Ubuntu 22.04 LTS ali novejša različica
- [Debian 12](https://www.ionos.com/sl-si/digitalguide/streznik/znanje/debian-univerzalna-sistemska-programska-oprema/) ali novejši
- Aktualna različica Red Hat Enterprise Linux (RHEL) ali AlmaLinux

Prav tako morate imeti [nameščen](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/vodnik-po-dockerju-namestitev-in-prvi-koraki/) in pripravljen za uporabo [Docker](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/vodnik-po-dockerju-namestitev-in-prvi-koraki/). Za izkoriščanje najnovejših izboljšav na področju varnosti in zmogljivosti je potrebna vsaj različica Docker **20.10 ali novejša**. Če želite uporabljati Docker Compose, se prepričajte, da uporabljate vsaj različico 2.x, saj starejše različice niso več aktivno vzdrževane.

Koristno je imeti osnovno znanje [o delu z](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/vodnik-po-docker-compose/) ukazno vrstico ter [poznati orodji Docker Compose](https://www.ionos.com/sl-si/digitalguide/streznik/nastavitve/vodnik-po-docker-compose/) in Docker. Če načrtujete večjo ali razširljivo konfiguracijo, se splača seznaniti s sistemom Kubernetes, ki omogoča profesionalno upravljanje kontejnerjev.

## Kako zagnati WordPress v Dockerjevih kontejnerjih

Uspešna namestitev WordPressa obsega tri elemente:

- Programska oprema WordPress
- Podatkovna baza MySQL ali MariaDB
- Zaključni koraki namestitve se izvedejo v brskalniku

V spodnjih primerih bosta WordPress in MySQL/MariaDB delovala v ločenih, med seboj povezanih kontejnerjih. Kontejner, v katerem teče program WordPress, bo dodeljen vratom na gostitelju, tako da boste do njega lahko dostopali prek brskalnika.

### Zagon kontejnerja MySQL/MariaDB

Ko se Docker zažene, je prvi korak nastavitev podatkovne zbirke. Začnite z zagonom kontejnerja z imenom `my-db`. Uporabite lahko MySQL ali MariaDB, ki je neposredna zamenjava za MySQL.

#### MySQL

Zaženite kontejner z naslednjim ukazom:

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

#### MariaDB

Zaženite kontejner z naslednjim ukazom:

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

Note Poskrbite, da za svojo zbirko podatkov vedno uporabljate varno geslo. Shranjevanje gesel kot spremenljivk okolja lahko prav tako predstavlja potencialno varnostno tveganje. Namesto tega je najbolje uporabiti **Docker Secret** ali zaščiteno konfiguracijsko datoteko.

### Ustvarjanje zbirke podatkov

Ko ustvarite kontejner, morate ustvariti bazo podatkov za svojo namestitev WordPressa.

#### MySQL

Povežite se z novo ustvarjenim kontejnerjem zbirke podatkov z naslednjim ukazom:

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

Ustvarite bazo podatkov:

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

#### MariaDB

Povežite se z novo ustvarjenim kontejnerjem zbirke podatkov z naslednjim ukazom:

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

Ustvarite bazo podatkov:

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

### Zagon kontejnerja WordPress

Nato zaženite kontejner z uradno sliko WordPressa. Ta bo dodeljen gostiteljskemu vratu 8080 in povezan s kontejnerjem zbirke podatkov.

Dve opombi:

- Če imate požarni zid, boste morda morali omogočiti dostop do vrat 8080.
- Če na vratih 8080 že teče druga storitev, lahko izberete druga vrata na gostitelju.

Ukaz se nekoliko razlikuje glede na to, ali uporabljate MySQL ali MariaDB:

#### MySQL

Zaženite WordPressov kontejner z naslednjim ukazom:

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

#### MariaDB

Zaženite WordPressov kontejner z naslednjim ukazom:

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

Če želite prepisati privzete nastavitve, lahko temu ukazu dodate še številne druge spremenljivke okolja, med drugim:

- **`-e WORDPRESS_DB_HOST=[hostname]`**: Privzeta vrednost je IP-naslov in vrata povezanega kontejnerja MySQL/MariaDB. Ta spremenljivka omogoča povezavo z bazo podatkov MySQL/MariaDB na drugem strežniku.
- **`-e WORDPRESS_DB_USER=[username]`**: Privzeta vrednost je `root`.
- **`-e WORDPRESS_DB_PASSWORD=[password]`**: Privzeta vrednost je spremenljivka okolja `MYSQL_ROOT_PASSWORD` iz povezanega kontejnerja MySQL/MariaDB.
- **`-e WORDPRESS_DB_NAME=[name]`**: Privzeta vrednost je `"wordpress"`.

Za večjo varnost je priporočljivo, da kontejnerjev ne izvajate v privzetem mostnem omrežju. Namesto tega lahko ustvarite lastno omrežje:

```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
```

Tukaj so vaši kontejnerji bolj ločeni od drugih, kar zmanjšuje tveganje za neželene povezave. Pravila omrežja lahko nastavite tudi podrobneje, na primer z uporabo prilagojenih nastavitev požarnega zidu ali z vzpostavitvijo povratnega proxyja.

## Kako dokončati namestitev v brskalniku

Za zadnje korake namestitve morate do kontejnerja WordPress dostopati prek brskalnika.

V zgornjem primeru smo vrata 8080 na gostitelju presmerili na vrata 80 (spletne storitve) v kontejnerju. To pomeni, da lahko zdaj do kontejnerja dostopate prek brskalnika bodisi z IP-naslovom strežnika bodisi z imenom domene:

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

V brskalniku odprite spletni naslov, izberite jezik namestitve in kliknite **»Naprej**«.

[![Image: Screenshot showing the WordPress language selection](https://www.ionos.com/sl-si/digitalguide/fileadmin/_processed_/1/e/csm_wp-docker-choose-language_151c6541cf.webp "Screenshot showing the WordPress language selection")](https://www.ionos.com/sl-si/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-choose-language.png) You can now select your installation language in the browser. Na naslednjem zaslonu se bo prikazalo sporočilo, ki vas bo pripravilo na naslednji korak namestitve. Kliknite gumb **»Pojdimo!«**, da nadaljujete.

[![Image: Screenshot of the WordPress installation prompt](https://www.ionos.com/sl-si/digitalguide/fileadmin/_processed_/e/1/csm_wp-docker-note_8a0a5ea326.webp "Screenshot of the WordPress installation prompt")](https://www.ionos.com/sl-si/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-note.png) The WordPress installation prompt informs you about the next setup step. Sedaj vnesite podatke o bazi podatkov, da se lahko ustvari datoteka `wp-config.php`:

[![Image: Screenshot of the WordPress database connection](https://www.ionos.com/sl-si/digitalguide/fileadmin/_processed_/c/3/csm_wp-docker-db-info_5f25200edc.webp "Screenshot of the WordPress database connection")](https://www.ionos.com/sl-si/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-db-info.png) Enter the requested information for your database. Upoštevajte, da je privzeti uporabnik »root«, če ni drugače navedeno. Vnesite ime baze podatkov, ki ste jo ustvarili, in geslo, ki ste ga izbrali. S klikom na »Pošlji« boste prešli na naslednje korake namestitve.

[![Image: Screenshot of the WordPress installation: site info](https://www.ionos.com/sl-si/digitalguide/fileadmin/_processed_/9/2/csm_wp-docker-page-info_369afff846.webp "Screenshot of the WordPress installation: site info")](https://www.ionos.com/sl-si/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-page-info.png) Enter the requested information about your WordPress site. - **Naslov spletnega mesta:** Vnesite naslov svoje spletne strani.
- **Uporabniško ime:** To je glavno uporabniško ime administratorja za vašo spletno stran. Nasvet: Zaradi varnostnih razlogov priporočamo, da **ne** uporabljate imena »Admin« ali imena vaše domene/URL-ja.
- **Geslo:** Preden nadaljujete, si ga obvezno zapišite.
- **Vaš e-poštni naslov:** To je e-poštni naslov, povezan z upraviteljskim računom.

Nato kliknite gumb **»Namesti WordPress«**, da zaključite namestitev.

[![Image: Screenshot of the successful WordPress installation](https://www.ionos.com/sl-si/digitalguide/fileadmin/_processed_/6/9/csm_wp-docker-success_ffbb3fccf5.webp "Screenshot of the successful WordPress installation")](https://www.ionos.com/sl-si/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-success.png) The success message shows the installation was successful. Ko bo namestitev končana, se bo prikazalo potrditveno sporočilo, nato pa se boste lahko prijavili v WordPress.

## Kako zagnati WordPress z Docker Compose

Uporaba Docker Compose je še en način za zagon WordPressa. Navodila za namestitev in uporabo najdete v našem članku o upravljanju Dockerja s Swarmom in Composeom. V bistvu vam to orodje omogoča, da vse potrebne storitve opredelite v eni sami datoteki in jih hkrati zaženete.

### Ustvarjanje datoteke YAML

Najprej ustvarite mapo za svoj projekt in se premaknite vanjo:

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

Ustvarite datoteko YAML z imenom `docker-compose.yml` z naslednjim ukazom:

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

Vsebina datoteke se nekoliko razlikuje glede na to, ali uporabljate MySQL ali MariaDB:

#### MySQL

V datoteko vnesite naslednjo vsebino:

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

Shranite datoteko in jo zaprite.

#### MariaDB

V datoteko vnesite naslednjo vsebino:

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

Shranite datoteko in jo zaprite.

### Zagon kontejnerjev

Nato z Docker Compose zaženite kontejnerje z naslednjim ukazom:

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

Uporabite naslednji ukaz, da preverite, ali so bili kontejnerji ustvarjeni:

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

Za dokončanje namestitve odprite WordPressov kontejner v brskalniku. Uporabite lahko naslov IP strežnika ali njegov URL:

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

## Kubernetes za prilagodljive namestitve WordPressa

Za večje in produkcijske namestitve je mogoče uporabiti Kubernetes (K8s). Kubernetes omogoča usklajevanje in samodejno upravljanje WordPressovih kontejnerjev na več vozliščih. Uporaba Kubernetesovega klastra ponuja številne prednosti, kot so samodejno prilagajanje zmogljivosti, mehanizmi samodejnega popravljanja napak in centralizirano upravljanje virov. Eden od načinov za to je uporaba **Helma**, upravitelja paketov za Kubernetes:

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

To omogoča visoko razpoložljivo in prilagodljivo namestitev WordPressa z [izenačevanjem obremenitve](https://www.ionos.com/sl-si/digitalguide/streznik/znanje/porazdeljevalniki-obremenitve-porazdeljevanje-delovne-obremenitve-med-streznike/), samodejnimi posodobitvami in podporo za preklop ob izpadu.


This is a markdown version of: [https://www.ionos.com/sl-si/digitalguide/streznik/znanje/wordpress-v-dockerjevih-kontejnerjih/](https://www.ionos.com/sl-si/digitalguide/streznik/znanje/wordpress-v-dockerjevih-kontejnerjih/) for AI/LLM consumption.