Docker Book
Notes for upcoming book on Docker and PHP.
Installing Docker
- Point to instructions on Docker website, no point in duplicating these
- Make sure you are running the latest version
- Use upstream repositories as the distribution ones are too out of date
- If running Ubuntu, use LTS as the host
Hello World
docker run --rm hello-world
- Include example output for checking
- Explain use of
--rm
flag - without this we end up with lots of stopped but not removed images
Basic PHP example
docker run --rm php:7.4-apache-buster php -v
, show output
Dockerfile:
FROM php:7.4-apache-buster COPY index.php /var/www/html/index.php
index.php:
<?php phpinfo();
docker build -t phpinfo:latest .
docker run --rm -p 8000:80 phpinfo
- Visit localhost:8000 in browser
- Ctrl+C terminates container and Docker will remove it automatically due to the
--rm
flag
Docker Compose
Docker Composer (docker-compose
) is a way to configure Docker with YAML. For example, you can specify environment variables in a YAML list, instead of having to supply them all on the command line. It also makes life much easier if you want to run multiple containers together, e.g. web and database containers.
If you are adding Docker to a project for the first time, you should use Docker Compose by default.