Како инсталирати WordPress са Docker Compose-ом

WordPress je široko rasprostranjen sistem za upravljanje sadržajem (CMS), idealan za kreiranje i održavanje web stranica i blogova. Docker, s druge strane, predstavlja platformu za kontejnerizaciju, koja omogućava pakovanje i distribuciju aplikacija na dosledan način. U ovom vodiču istražićemo proces instalacije WordPress-a pomoću Docker Compose.

Uvod u Docker Compose

Docker Compose je alatka namenjena definisanju i upravljanju multi-kontejnerskim Docker aplikacijama. Olakšava brzo kreiranje složenih kontejnerskih okruženja koja sadrže različite servise i komponente. Korišćenjem Docker Compose-a, proces instalacije WordPress-a se znatno pojednostavljuje, a istovremeno se osigurava da aplikacija radi u izolovanom i prenosivom okruženju.

Prethodni koraci: Instalacija Docker-a

Pre nego što počnemo sa instalacijom WordPress-a koristeći Docker Compose, neophodno je da instalirate Docker na svoj sistem. Ovaj proces će se razlikovati u zavisnosti od operativnog sistema koji koristite. Detaljna uputstva za različite sisteme možete pronaći na zvaničnoj Docker dokumentaciji: https://docs.docker.com/get-docker/

Instalacija Docker Compose-a

Nakon što je Docker uspešno instaliran, prelazimo na instalaciju Docker Compose-a. To možete učiniti izvršavanjem sledeće komande u terminalu:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Nakon preuzimanja datoteke, neophodno je dodeliti joj izvršna prava:

sudo chmod +x /usr/local/bin/docker-compose

Proces instalacije WordPress-a pomoću Docker Compose-a

Kada su Docker i Docker Compose instalirani, možemo započeti proces instalacije WordPress-a. Prvi korak je kreiranje docker-compose.yml datoteke. Ova datoteka će sadržati konfiguraciju naše Docker Compose aplikacije. U sledećem primeru kreiraćemo docker-compose.yml datoteku koja će pokrenuti MySQL kontejner za bazu podataka i WordPress kontejner za našu WordPress aplikaciju:

version: '3'
services:
  db:
    image: mysql:5.7
    volumes:
      - dbdata:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
  wordpress:
    image: wordpress:latest
    volumes:
      - wpdata:/var/www/html
    ports:
      - "80:80"
    depends_on:
      - db
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
volumes:
  dbdata:
  wpdata:

U ovoj docker-compose.yml datoteci, definisali smo dva glavna servisa:

  • db: MySQL kontejner koji će služiti kao baza podataka.
  • wordpress: WordPress kontejner za našu WordPress aplikaciju.

Pored definisanja servisa, naveli smo i dva volumena:

  • dbdata: Volumen za čuvanje podataka baze podataka.
  • wpdata: Volumen za čuvanje podataka WordPress aplikacije.

Sada, kada imamo docker-compose.yml datoteku, možemo pokrenuti aplikaciju koristeći sledeću komandu:

docker-compose up -d

Ova komanda će pokrenuti MySQL i WordPress kontejnere u pozadini.

Pristup WordPress web sajtu

Nakon što se kontejneri uspešno pokrenu, možete pristupiti WordPress web stranici putem adrese http://localhost. Pre prvog korišćenja, biće potrebno da konfigurišete bazu podataka i samu WordPress aplikaciju.

Konfiguracija baze podataka

Za konfiguraciju baze podataka, prvo se morate povezati na MySQL kontejner koristeći sledeću komandu:

docker exec -it db bash

Unutar MySQL kontejnera, kreirajte bazu podataka, korisnika i dodelite mu odgovarajuće dozvole. To se može postići izvršavanjem sledećih SQL naredbi:

CREATE DATABASE wordpress;
CREATE USER wordpress IDENTIFIED BY 'wordpress';
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Konfiguracija WordPress-a

Nakon što je baza podataka konfigurisana, prelazimo na konfiguraciju same WordPress aplikacije. Prvo pristupamo WordPress kontejneru putem komande:

docker exec -it wordpress bash

Unutar WordPress kontejnera, neophodno je pronaći i urediti wp-config.php datoteku, koja se nalazi u /var/www/html/wp-config.php. U ovoj datoteci potrebno je ažurirati sledeće vrednosti:

  • DB_NAME: Ime kreirane baze podataka.
  • DB_USER: Korisničko ime za pristup bazi.
  • DB_PASSWORD: Lozinka za pristup bazi.
  • DB_HOST: Host baze podataka.

Nakon što ažurirate ove vrednosti, možete sačuvati i zatvoriti wp-config.php datoteku.

Ponovni pristup WordPress web lokaciji

Kada je konfiguracija baze podataka i WordPress aplikacije završena, možete pristupiti WordPress web stranici putem http://localhost. Za pristup administratorskom panelu biće potrebni korisničko ime i lozinka. Podrazumevano korisničko ime je „admin“, a lozinka je „admin“.

Zaključak

Korišćenje Docker Compose-a za instalaciju WordPress-a je efikasan način da se WordPress aplikacija pokrene u izolovanom i prenosivom okruženju. Ovaj metod omogućava brzo i jednostavno postavljanje i upravljanje WordPress instalacijama, što olakšava razvoj i održavanje web sajtova.

Često postavljana pitanja

  1. Šta je Docker Compose?

    Docker Compose je alatka za definisanje i upravljanje multi-kontejnerskim Docker aplikacijama.

  2. Zašto koristiti Docker Compose za instalaciju WordPress-a?

    Docker Compose olakšava i ubrzava proces postavljanja i upravljanja WordPress instalacijama, čineći ih istovremeno prenosivim.

  3. Koje su prednosti korišćenja Docker-a za pokretanje WordPress aplikacija?

    Docker pruža izolovano i prenosivo okruženje za pokretanje WordPress aplikacija, što obezbeđuje konzistentno i ponovljivo okruženje za razvoj i produkciju.

  4. Kako se povezati na MySQL kontejner?

    Možete se povezati na MySQL kontejner koristeći komandu: docker exec -it db bash.

  5. Kako promeniti lozinku baze podataka?

    Lozinku baze podataka možete promeniti unutar MySQL kontejnera koristeći SQL naredbu: SET PASSWORD FOR wordpress@'%' = 'nova_lozinka';.

  6. Kako pristupiti WordPress web sajtu?

    WordPress web sajtu možete pristupiti putem adrese http://localhost.

  7. Koje su podrazumevane vrednosti za korisničko ime i lozinku WordPress-a?

    Podrazumevano korisničko ime je „admin“, a lozinka je „admin“.

  8. Gde mogu