Jak uruchomić WordPressa w Dockerze na komputerze?

Jeśli kiedykolwiek próbowałeś postawić WordPressa „tradycyjnie”, to wiesz, jak to wygląda: instalacja Apache lub Nginx, konfiguracja PHP, do tego MySQL, potem dopasowanie wersji, ustawianie uprawnień, a na końcu modlitwa, żeby wszystko działało. Docker rozwiązuje ten problem jednym ruchem – daje Ci gotowe kontenery, które po prostu działają.

I właśnie dlatego tak wiele osób przerzuca się na Dockera. Nie musisz być adminem z 20-letnim doświadczeniem. Wystarczy, że potrafisz wkleić kilka komend do terminala. Serio.

W tym artykule przeprowadzę Cię przez cały proces – od instalacji Dockera, przez konfigurację, aż po uruchomienie WordPressa i dostęp do niego z przeglądarki. A jeśli coś pójdzie nie tak, też Ci powiem, jak to naprawić.

Dlaczego warto uruchomić WordPressa w Dockerze?

Zanim przejdziemy do konkretów, warto zrozumieć, dlaczego Docker jest tak wygodny.

1. Zero bałaganu w systemie

Nie instalujesz PHP, MySQL, Apache ani niczego innego. Wszystko siedzi w kontenerach.

2. Łatwe przenoszenie projektu

Chcesz przenieść WordPressa na inny komputer? Kopiujesz folder i gotowe.

3. Szybkie odtwarzanie środowiska

Coś się wysypało? Usuwasz kontener, stawiasz nowy i po sprawie.

4. Idealne środowisko do nauki i testów

Możesz mieć kilka WordPressów naraz, każdy w innej wersji.

5. Docker Compose robi za Ciebie całą robotę

Jeden plik YAML i masz cały stack: WordPress + baza danych + sieć + wolumeny.

Krok 1: Zainstaluj Dockera

Jeśli masz Windowsa lub macOS – pobierasz Docker Desktop. Jeśli Linuxa – instalujesz pakiet docker + docker-compose-plugin.

Windows / macOS

Wejdź na stronę Dockera i pobierz Docker Desktop. Instalacja jest banalna – klikasz „Next”, „Next”, „Finish”.

Linux (np. Ubuntu)

W terminalu:

sudo apt update
sudo apt install docker.io docker-compose-plugin
sudo systemctl enable docker
sudo systemctl start docker

Sprawdź, czy działa:

docker --version
docker compose version

Jeśli widzisz wersje – jesteś gotowy.

Krok 2: Przygotuj folder projektu

Stwórz sobie folder, w którym będzie Twój WordPress:

mkdir wordpress-docker
cd wordpress-docker

To będzie Twoje małe „centrum dowodzenia”.

Krok 3: Stwórz plik docker-compose.yml

To jest serce całej operacji. Jeden plik, który mówi Dockerowi:

  • uruchom WordPressa,
  • uruchom bazę danych,
  • połącz je ze sobą,
  • zapisz dane w wolumenach, żeby nie zniknęły po restarcie.

Stwórz plik:

nano docker-compose.yml

A teraz wklej do niego:

version: '3.9'

services:
  wordpress:
    image: wordpress:latest
    container_name: wordpress
    ports:
      - "8000:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppass
      WORDPRESS_DB_NAME: wpdb
    volumes:
      - ./wp-content:/var/www/html/wp-content
    depends_on:
      - db

  db:
    image: mysql:5.7
    container_name: wordpress_db
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: wpdb
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppass
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

Co tu się dzieje?

  • WordPress działa na porcie 8000 (czyli wejdziesz na http://localhost:8000).
  • MySQL działa w osobnym kontenerze.
  • Dane WordPressa (wp-content) są w Twoim folderze.
  • Dane MySQL są w wolumenie Dockera.

To naprawdę wszystko, czego potrzebujesz.

Krok 4: Uruchom WordPressa

W terminalu wpisz:

docker compose up -d

Po chwili zobaczysz, że Docker pobiera obrazy, tworzy kontenery i uruchamia je.

Sprawdź status:

docker ps

Powinieneś zobaczyć dwa kontenery:

  • wordpress
  • wordpress_db

Jeśli są – gratulacje, WordPress działa.

Krok 5: Wejdź w WordPressa

Otwórz przeglądarkę i wpisz:

http://localhost:8000

Powinien pojawić się kreator instalacji WordPressa.

Wybierasz język, ustawiasz nazwę strony, login, hasło – i gotowe.

Co jeśli coś nie działa?

Spokojnie, Docker jest prosty, ale czasem coś potrafi się wysypać. Oto najczęstsze problemy.

Problem 1: „Error establishing a database connection”

Najczęściej:

  • źle wpisane dane w docker-compose.yml,
  • baza jeszcze się nie uruchomiła.

Sprawdź logi bazy:

docker logs wordpress_db

Jeśli widzisz błędy z hasłem – popraw dane w pliku YAML i uruchom ponownie:

docker compose down
docker compose up -d

Problem 2: Port 8000 jest zajęty

Zmień port w pliku:

ports:
  - "8080:80"

I restart:

docker compose down
docker compose up -d

Problem 3: WordPress nie widzi wp-content

Upewnij się, że folder istnieje:

mkdir wp-content

I restart kontenerów.

Jak zatrzymać WordPressa?

Proste:

docker compose down

Jeśli chcesz usunąć też dane bazy:

docker compose down -v

Jak zrestartować WordPressa?

docker compose restart

Jak wejść do kontenera WordPressa?

Czasem chcesz coś podejrzeć:

docker exec -it wordpress bash

Jak zrobić backup WordPressa w Dockerze?

To banalnie proste.

Backup wp-content:

tar -czvf wp-content-backup.tar.gz wp-content

Backup bazy:

docker exec wordpress_db mysqldump -u wpuser -pwppass wpdb > backup.sql

Jak dodać phpMyAdmin?

Jeśli chcesz mieć graficzny dostęp do bazy, dodaj do docker-compose.yml:

phpmyadmin:
  image: phpmyadmin/phpmyadmin
  ports:
    - "8081:80"
  environment:
    PMA_HOST: db
  depends_on:
    - db

I restart:

docker compose up -d

Wejdź na:

http://localhost:8081

Jak zmienić wersję WordPressa lub PHP?

Wystarczy zmienić obraz:

image: wordpress:php8.2

Albo:

image: wordpress:6.4

I restart.

Jak uruchomić wiele WordPressów naraz?

Każdy w osobnym folderze, każdy na innym porcie.

Przykład:

  • projekt1 → port 8000
  • projekt2 → port 8001

Jak przenieść WordPressa na inny komputer?

  1. Kopiujesz folder projektu.
  2. Na nowym komputerze uruchamiasz:
docker compose up -d

I gotowe.

Jak zautomatyzować WordPressa w Dockerze?

Możesz stworzyć skrypt bash, który uruchomi cały proces:

#!/bin/bash

docker compose down
docker compose pull
docker compose up -d

Zapisz jako:

deploy.sh

Nadaj uprawnienia:

chmod +x deploy.sh

I uruchamiaj jednym poleceniem.

Uruchomienie WordPressa w Dockerze to jedna z najprostszych i najczystszych metod pracy z tym CMS-em. Nie musisz instalować PHP, MySQL ani Apache. Nie musisz martwić się o wersje, konflikty, konfiguracje. Wszystko masz w jednym pliku docker-compose.yml.

Szukasz taniego i dobrego hostingu dla swojej strony www? - Sprawdź Seohost.pl