Deprecated: Parsedown::blockSetextHeader(): Implicitly marking parameter $Block as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/lib/Parsedown.php on line 715

Deprecated: Parsedown::blockTable(): Implicitly marking parameter $Block as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/lib/Parsedown.php on line 853

Deprecated: ParsedownExtra::blockSetextHeader(): Implicitly marking parameter $Block as nullable is deprecated, the explicit nullable type must be used instead in /var/www/html/lib/ParsedownExtra.php on line 241
4. Docker Compose: MariaDB, Adminer, WordPress (15 min)

4. Docker Compose: MariaDB, Adminer, WordPress (15 min)

Výstup bloku: jedním příkazem běží WordPress s databází a správcem databáze.

Proč compose (2 min)

docker run pro tři propojené kontejnery znamená dlouhé příkazy, které nikdo nezná zpaměti. Compose popíše vše v souboru, který lze verzovat v Gitu.

Soubor compose.yml (5 min)

Vytvořit složku wp-stack a v ní soubor compose.yml:

services:
  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wp
      MARIADB_PASSWORD: ${DB_PASSWORD}
      MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
    volumes:
      - db_data:/var/lib/mysql

  adminer:
    image: adminer
    restart: unless-stopped
    ports:
      - "8081:8080"

  wordpress:
    image: wordpress:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wp
      WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
    volumes:
      - wp_data:/var/www/html

volumes:
  db_data:
  wp_data:

Vedle něj soubor .env (hesla nejsou v compose.yml):

DB_PASSWORD=zmen-me-heslo
DB_ROOT_PASSWORD=zmen-me-root-heslo

Vysvětlit:

Spuštění (5 min)

docker compose up -d
docker compose ps
docker compose logs -f wordpress

Úklid a ověření perzistence (3 min)

docker compose down          # smaže kontejnery, data zůstanou
docker compose up -d         # WordPress je zase tam, i s obsahem
docker compose down -v       # smaže i volumes (data)

Ukázat rozdíl down versus down -v. To je nejdůležitější poznatek bloku.

Poznámky pro lektora