# Kaip įdiegti „WordPress“ „Docker“ konteineriuose

Sužinokite, kaip paleisti „WordPress“ įdiegą „Docker“ konteineriuose – tiek rankiniu būdu, tiek naudojant „Docker Compose“. „WordPress“ kūrėjams bus naudinga paleisti „WordPress“ „Docker“ konteineriuose. „Docker“ leidžia lengvai išbandyti įvairias „WordPress“ konfigūracijas ir paleisti naują „WordPress“ įdiegą vos keliais paprastais komandomis.

## Reikalavimai

Kad „WordPress“ sklandžiai veiktų „Docker“ konteineriuose, reikalinga naujausia ir palaikoma „Linux“ distribucija. Senesnės versijos, pavyzdžiui, „CentOS 7“ ar „Ubuntu 14.04“, yra pasenusios ir turėtų būti pakeistos šiuolaikinėmis alternatyvomis. Rekomenduojami variantai:

- „Ubuntu“ 22.04 LTS arba naujesnė versija
- [Debian 12](https://www.ionos.com/lt-lt/digitalguide/serveris/zinios/debian-universali-sistemine-programine-iranga/) arba naujesnė versija
- Naujausia „Red Hat Enterprise Linux“ (RHEL) arba „AlmaLinux“ versija

Be to, jūsų kompiuteryje turi būti [įdiegta](https://www.ionos.com/lt-lt/digitalguide/serveris/konfiguracija/docker-vadovas-idiegimas-ir-pirmieji-zingsniai/) ir parengta naudoti [„Docker“ programa](https://www.ionos.com/lt-lt/digitalguide/serveris/konfiguracija/docker-vadovas-idiegimas-ir-pirmieji-zingsniai/). Norint pasinaudoti naujausiais saugumo ir našumo patobulinimais, būtina turėti bent „Docker“ **20.10 versiją ar naujesnę**. Jei norite naudoti „Docker Compose“, įsitikinkite, kad naudojate bent 2.x versiją, nes senesnės versijos jau nebėra aktyviai palaikomos.

Būtų naudinga turėti pagrindinių komandinės eilutės įgūdžių ir [būti susipažinusiam su „Docker Compose“](https://www.ionos.com/lt-lt/digitalguide/serveris/konfiguracija/docker-compose-vadovas/) bei „Docker“. Jei planuojate didesnį ar išplėstinį diegimą, verta susipažinti su „Kubernetes“ – profesionalaus lygio konteinerių koordinavimo sprendimu.

## Kaip paleisti „WordPress“ „Docker“ konteineriuose

Sėkmingą „WordPress“ įdiegimą sudaro trys elementai:

- „WordPress“ programinė įranga
- „MySQL“ arba „MariaDB“ duomenų bazė
- Paskutiniai diegimo veiksmai atliekami naršyklėje

Toliau pateiktuose pavyzdžiuose „WordPress“ ir „MySQL/MariaDB“ veiks atskiruose, tarpusavyje susietuose konteineriuose. Konteineris, kuriame veikia „WordPress“ programinė įranga, bus susietas su pagrindinio kompiuterio prievadu, kad galėtumėte prie jo prisijungti per naršyklę.

### MySQL/MariaDB konteinerio paleidimas

Kai „Docker“ jau veikia, pirmasis žingsnis – sukonfigūruoti duomenų bazę. Pradėkite paleisdami konteinerį, pavadintą `my-db`“. Galite naudoti „MySQL“ arba „MariaDB“, kuri yra tiesioginis „MySQL“ pakaitalas.

#### MySQL

Paleiskite konteinerį šia komanda:

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

#### MariaDB

Paleiskite konteinerį šia komanda:

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

Note Būtinai naudokite saugų duomenų bazės slaptažodį. Slaptažodžių saugojimas kaip aplinkos kintamųjų taip pat gali kelti potencialią grėsmę saugumui. Vietoj to geriausia naudoti **„Docker Secret“** arba saugų konfigūracijos failą.

### Duomenų bazės kūrimas

Sukūrę konteinerį, turite sukurti duomenų bazę savo „WordPress“ įdiegimui.

#### MySQL

Prisijunkite prie naujai sukurto duomenų bazės konteinerio naudodami šią komandą:

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

Sukurti duomenų bazę:

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

#### MariaDB

Prisijunkite prie naujai sukurto duomenų bazės konteinerio naudodami šią komandą:

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

Sukurti duomenų bazę:

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

### WordPress konteinerio paleidimas

Toliau paleiskite konteinerių, naudodami oficialų „WordPress“ atvaizdą. Jis bus priskirtas prie pagrindinio kompiuterio 8080 prievado ir susietas su duomenų bazės konteineriu.

Dvi pastabos:

- Jei naudojate ugniasienę, gali tekti leisti prieigą prie 8080 prievado.
- Jei 8080-ajame prievade jau veikia kita paslauga, galite pasirinkti kitą prievadą serveryje.

Komanda šiek tiek skiriasi priklausomai nuo to, ar naudojate „MySQL“, ar „MariaDB“:

#### MySQL

Paleiskite „WordPress“ konteinerių naudodami šią komandą:

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

#### MariaDB

Paleiskite „WordPress“ konteinerį naudodami šią komandą:

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

Jei norite pakeisti numatytuosius nustatymus, į šią komandą galite įtraukti daugybę kitų aplinkos kintamųjų, tarp jų:

- **`-e WORDPRESS_DB_HOST=[hostname]`**: Numatytasis nustatymas yra susieto MySQL/MariaDB konteinerių IP adresas ir prievadas. Šis kintamasis leidžia prisijungti prie MySQL/MariaDB duomenų bazės kitame serveryje.
- **`-e WORDPRESS_DB_USER=[username]`**: Numatytasis nustatymas yra `root`.
- **`-e WORDPRESS_DB_PASSWORD=[password]`**: Numatytasis nustatymas yra aplinkos kintamasis `MYSQL_ROOT_PASSWORD` iš susieto MySQL/MariaDB konteinerio.
- **`-e WORDPRESS_DB_NAME=[name]`**: Numatytasis nustatymas yra `"wordpress"`.

Siekiant užtikrinti didesnį saugumą, rekomenduojama nevykdyti konteinerių numatytame „bridge“ tinkle. Vietoj to galite sukurti savo tinklą:

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

Čia jūsų konteineriai yra labiau izoliuoti nuo kitų, todėl sumažėja nepageidaujamų ryšių rizika. Taip pat galite išsamiau konfigūruoti tinklo taisykles, pavyzdžiui, naudodami pasirinktinius ugniasienės nustatymus arba diegdami atvirkštinį tarpinį serverį.

## Kaip užbaigti diegimą naršyklėje

Norėdami atlikti paskutinius diegimo veiksmus, turite prisijungti prie „WordPress“ konteinerių naudodami naršyklę.

Pateiktame pavyzdyje priskyrėme kompiuterio 8080-ąjį prievadą konteineriui priklausančiam 80-ajam prievadui (žiniatinklio paslaugoms). Tai reiškia, kad dabar prie konteinerio galite prisijungti naršyklėje naudodami serverio IP adresą arba domeno vardą:

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

Atidarykite šią nuorodą naršyklėje, pasirinkite diegimo kalbą ir spustelėkite **„Tęsti**“.

[![Image: Screenshot showing the WordPress language selection](https://www.ionos.com/lt-lt/digitalguide/fileadmin/_processed_/1/e/csm_wp-docker-choose-language_151c6541cf.webp "Screenshot showing the WordPress language selection")](https://www.ionos.com/lt-lt/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-choose-language.png) You can now select your installation language in the browser. Kitame ekrane pasirodys pranešimas, informuojantis apie kitą nustatymo etapą. Norėdami tęsti, spustelėkite mygtuką **„Pradėkime!** “.

[![Image: Screenshot of the WordPress installation prompt](https://www.ionos.com/lt-lt/digitalguide/fileadmin/_processed_/e/1/csm_wp-docker-note_8a0a5ea326.webp "Screenshot of the WordPress installation prompt")](https://www.ionos.com/lt-lt/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-note.png) The WordPress installation prompt informs you about the next setup step. Dabar įveskite duomenų bazės informaciją, kad būtų galima sukurti `wp-config.php` failą:

[![Image: Screenshot of the WordPress database connection](https://www.ionos.com/lt-lt/digitalguide/fileadmin/_processed_/c/3/csm_wp-docker-db-info_5f25200edc.webp "Screenshot of the WordPress database connection")](https://www.ionos.com/lt-lt/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-db-info.png) Enter the requested information for your database. Atkreipkite dėmesį, kad, jei nenurodyta kitaip, numatytasis vartotojas yra „root“. Įveskite savo sukurtos duomenų bazės pavadinimą ir pasirinktą slaptažodį. Spustelėję „Pateikti“ pereisite prie tolesnių diegimo etapų.

[![Image: Screenshot of the WordPress installation: site info](https://www.ionos.com/lt-lt/digitalguide/fileadmin/_processed_/9/2/csm_wp-docker-page-info_369afff846.webp "Screenshot of the WordPress installation: site info")](https://www.ionos.com/lt-lt/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-page-info.png) Enter the requested information about your WordPress site. - **Svetainės pavadinimas:** Įveskite savo svetainės pavadinimą.
- **Vartotojo vardas:** tai yra pagrindinis jūsų svetainės administratoriaus vartotojo vardas. Patarimas: saugumo sumetimais rekomenduojame **nenaudoti** žodžio „Admin“ arba savo domeno vardo/URL.
- **Slaptažodis:** Prieš tęsdami būtinai jį užsirašykite.
- **Jūsų el. paštas:** tai yra su administratoriaus paskyra susietas el. pašto adresas.

Tada spustelėkite mygtuką **„Įdiegti WordPress“**, kad užbaigtumėte diegimą.

[![Image: Screenshot of the successful WordPress installation](https://www.ionos.com/lt-lt/digitalguide/fileadmin/_processed_/6/9/csm_wp-docker-success_ffbb3fccf5.webp "Screenshot of the successful WordPress installation")](https://www.ionos.com/lt-lt/digitalguide/fileadmin/DigitalGuide/Screenshots_2024/wp-docker-success.png) The success message shows the installation was successful. Baigus diegimą, pasirodys patvirtinimo pranešimas, po kurio galėsite prisijungti prie „WordPress“.

## Kaip paleisti „WordPress“ naudojant „Docker Compose“

„Docker Compose“ naudojimas yra dar vienas būdas paleisti „WordPress“. Įdiegimo ir naudojimo instrukcijas rasite mūsų straipsnyje apie „Docker“ koordinavimą naudojant „Swarm“ ir „Compose“. Iš esmės šis įrankis leidžia apibrėžti visas reikalingas paslaugas viename faile ir jas paleisti kartu.

### YAML failo kūrimas

Pirmiausia sukurkite savo projekto katalogą ir pereikite į jį:

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

Sukurkite YAML failą pavadinimu `docker-compose.yml` naudodami šią komandą:

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

Failo turinys šiek tiek skiriasi priklausomai nuo to, ar naudojate „MySQL“, ar „MariaDB“:

#### MySQL

Į failą įtraukite šį turinį:

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

Išsaugokite failą ir uždarykite jį.

#### MariaDB

Į failą įtraukite šį turinį:

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

Išsaugokite failą ir uždarykite jį.

### Konteinerių paleidimas

Toliau naudokite „Docker Compose“, kad paleistumėte konteinerius šia komanda:

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

Naudokite šią komandą, kad patikrintumėte, ar konteineriai buvo sukurti:

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

Norėdami užbaigti diegimą, naršyklėje atidarykite „WordPress“ konteinerį. Galite naudoti serverio IP adresą arba jo URL adresą:

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

## „Kubernetes“ – mastelio keitimui pritaikytos „WordPress“ diegimo galimybės

Didesnėms ir gamybinėms aplinkoms galima naudoti „Kubernetes“ (K8s). „Kubernetes“ leidžia koordinuoti ir automatiškai valdyti „WordPress“ konteinerius keliuose mazguose. „Kubernetes“ klasterio naudojimas suteikia keletą privalumų, pavyzdžiui, automatinį mastelio keitimą, savikontrolės mechanizmus ir centralizuotą išteklių valdymą. Vienas iš būdų tai įgyvendinti – naudoti **„Helm“**, „Kubernetes“ paketų tvarkyklę:

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

Tai leidžia sukurti itin patikimą ir mastelio keitimą palaikantį „WordPress“ diegimą su [apkrovos paskirstymu](https://www.ionos.com/lt-lt/digitalguide/serveris/zinios/apkrovos-balansavimo-irenginiai-serveriu-darbo-kruvio-paskirstymas/), automatiniais atnaujinimais ir avarijų perėmimo funkcija.


This is a markdown version of: [https://www.ionos.com/lt-lt/digitalguide/serveris/zinios/wordpress-docker-konteineriuose/](https://www.ionos.com/lt-lt/digitalguide/serveris/zinios/wordpress-docker-konteineriuose/) for AI/LLM consumption.