Przejdź do głównej zawartości

26. Docker dla programistów webowych

Docker dla programistów webowych

Docker rozwiązuje klasyczny problem „u mnie działa”. Kontener zawiera aplikację razem z zależnościami i środowiskiem uruchomieniowym. Każdy deweloper w zespole pracuje na identycznym środowisku. Ta prezentacja tłumaczy czym jest Docker i jak uruchomić stos PHP/Apache/MySQL jednym poleceniem.

  1. Co to jest kontener i czym różni się od maszyny wirtualnej? — izolacja vs wirtualizacja
  2. Co zawiera docker-compose.yml? — serwisy, porty, wolumeny
  3. Jak uruchomić projekt PHP z bazą danych?docker-compose up
  1. Problem: „u mnie działa” — różne wersje PHP, brak rozszerzeń
  2. Kontener vs maszyna wirtualna — schemat porównania
  3. Obraz Docker — czym jest, skąd pochodzi (Docker Hub)
  4. Dockerfile — definicja własnego obrazu
  5. docker-compose.yml — orkiestracja wielu serwisów
  6. Praktyczny stos: PHP 8.2 + Apache + MySQL
  7. Wolumeny — synchronizacja kodu między hostem a kontenerem

Schemat porównawczy

VM vs Docker — warstwa OS, hypervisor, daemon

docker-compose.yml

Kompletny przykład stosu PHP/Apache/MySQL z opisem

Minimum:

  • Definicja kontenera i obrazu
  • Porównanie VM vs Docker
  • Przykład docker-compose.yml z opisem

Forma: 10 slajdów, 10 minut

Ocena: 3.0
# docker-compose.yml — stos PHP/Apache/MySQL
version: '3.8'
services:
php:
image: php:8.2-apache
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: myapp
MYSQL_USER: appuser
MYSQL_PASSWORD: apppass
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin:latest
ports:
- "8081:80"
environment:
PMA_HOST: db
volumes:
db_data:
Okno terminala
# Podstawowe komendy Docker
docker-compose up -d # Uruchom w tle
docker-compose down # Zatrzymaj i usuń kontenery
docker-compose logs php # Logi serwisu php
docker-compose exec php bash # Wejdź do kontenera
# Bezpośrednie komendy Docker
docker ps # Lista uruchomionych kontenerów
docker images # Lista obrazów
docker pull php:8.2-apache # Pobierz obraz

Pokaż komendę live

Jeśli masz Dockera na laptopie — docker-compose up na żywo to najlepsza demonstracja

Schemat na jednym slajdzie

Narysuj: laptop → daemon → kontenery (PHP, MySQL) strzałkami z portami