Ostatnio w pracy zajmuję się przebudową portalu postawionego na WordPressie. W dużej mierze polega to na edycji istniejącego szablonu, trochę PHPa itd. Poczytałem, popytałem i okazało się, że odpalenie całego silnika na Macbooku, to nie jest taka prosta sprawa, jak choćby uruchomienie aplikacji Ruby on Rails. Stwierdziłem, że zamiast bawić się w Apache nie Apache i inne pehapy odpalę WordPress w Dockerze. Kolejny post z serii Today I learned.
W związku z powyższym, po intensywnym researchu w internetach zbudowałem sobie taki o to docker-compose.yml. Zostawiam tutaj dla siebie i dla Ciebie, gdyby ktoś z nas jeszcze tego potrzebował w przyszłości.
Dodatkowo wystawiam sobie na zewnątrz MySQL na porcie 3333, żeby móc się podpiąć do bazy za pomocą DataGrip.
docker-compose.yml
version: "3.7"
services:
db:
image: mysql:5.7
volumes:
- my_wordpress_db:/var/lib/mysql:delegated
restart: always
ports:
- "3333:3306"
environment:
MYSQL_ROOT_PASSWORD: my_wordpress_root_password
MYSQL_DATABASE: my_wordpress_db
MYSQL_USER: my_wordpress_db_user
MYSQL_PASSWORD: my_wordpress_db_password
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "80:80"
volumes:
- ./wp-content:/var/www/html/wp-content:delegated
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: my_wordpress_db_password
WORDPRESS_DB_NAME: my_wordpress_db
volumes:
my_wordpress_db: {}
WordPress w Dockerze okazał się strzałem w dziesiątkę!
Koniecznie zobacz, dlaczego PHP jest taki wyjątkowy.