Jak zainstalować WordPress’a lokalnie z Docker’em?

Programowanie stron

Możesz użyć Docker Composer, żeby błyskawicznie uruchomić WordPress’a lokalnie w wyizolowanym środowisku Docker’a.

Zanim zaczniemy powinieneś upewnić się, że masz zainstalowanego Docker Desktop for Windows (oczywiście jeśli używasz Windowsa).

Procedura dla innych systemów będzie analogiczna natomiast będzie wymagała zainstalowania dedykowanych do danego systemu wersji Docker’a:

  1. Mac
  2. Ubuntu

Zacznijmy od utworzenia struktury projektu.

  • Utwórz pusty katalog:
    mkdir docker_wordpress
  • Wejdź w swój utworzony katalog:
    cd docker_wordpress
  • Stwórz plik docker-compose.yml, w którym zdefiniujemy informacje uruchamiające instancje naszego bloga oraz serwer MySQL przechowujący dane:
    touch docker-compose.yml lub echo "" > docker-compose.yml (jeśli nie masz touch’a)
  • Wypełnij plik poniższym kodem:
version: '3.0'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: root_password
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {}

Uruchom projekt!

Teraz kiedy mamy strukturę możemy uruchomić nasz projekt.
Wystarczy, że odpalimy komendę docker-compose up

Digest: sha256:7924ec534b844f9c7c0547fa95265516e8adf19ca475cffe911202037392d264
Status: Downloaded newer image for mysql:5.7
Pulling wordpress (wordpress:latest)...
latest: Pulling from library/wordpress
c499e6d256d6: Already exists
3a635b94b3b9: Pull complete
cf28be682a33: Pull complete
b7118ab6e551: Pull complete
925f628a16b8: Pull complete
a77cff9973b5: Pull complete
9b4f44173a15: Pull complete
c9bd6c436ae3: Pull complete
399316af3112: Pull complete
3cea11f54c61: Pull complete
1ebb66998d8f: Pull complete
ac288a1a6e08: Pull complete
776d750cfd59: Pull complete
a997f5c2f033: Pull complete
a41091590f04: Pull complete
6b1397000eb2: Pull complete
7b387d8d3957: Pull complete
04673b988ee3: Pull complete
0e2da6305da6: Pull complete
f0224352bc00: Pull complete
d5e8b4e26a84: Pull complete
Digest: sha256:c28e9c51f822872f728660d9fff9fdd0cbd803ae5362784ce5b5c9aec9b86b96
Status: Downloaded newer image for wordpress:latest
Creating docker_wordpress_db_1 ... done
Creating docker_wordpress_wordpress_1 ... done
Attaching to docker_wordpress_db_1, docker_wordpress_wordpress_1

Uruchom w przeglądarce!

Teraz kiedy już nasze środowisko się zbudowało, możemy podejrzeć w wyszukiwarce naszego WordPress’a i przeprowadzić w nim instalacje.
Z docker-compose.yml wynika, że nasz blog będzie serwowany na porcie 8000 zatem link do jego uruchomienia to http://localhost:8000

Instalacja strony WordPress

I możemy zacząć 1 minutową instalacje naszego bloga, wprowadzając tytuł witryny oraz dane do logowania, a następnie cieszyć się czystą instalką WordPress’a:

Pusta instalacja WordPress'a

To by było na tyle. Mam nadzieje, że oszczędziłem wam sporo czasu. Zauważcie, że korzystając z docker’a nie musicie instalować żadnych wampów ani innych lampów, konfigurować ich, żeby postawić sobie lokalnie stronkę! Wszystko zawiera się w krótkim i czytelnym docker-compose.yml

Jak to usunąć?

Usuwanie jest banalne. Wyłączamy robiąc ctrl + c a następnie kiedy chcemy:

  • Usunąć kontener i sieć zostawiając baze danych: docker-compose down
  • Usunąć kontener, sieć i bazę danych: docker-compose down --volumes

żródło: https://docs.docker.com/compose/wordpress/