Docker and PHP
Contents of a Docker directory
The following files must be present to use docker-compose
:
docker-compose.yml Dockerfile
docker-compose build
will build the image.
Run a basic PHP Docker image
docker run php:7.4-apache-buster php --version
Basic PHP Dockerfile
Build an image and copy in a PHP file:
FROM php:7.4-apache-buster COPY index.php /var/www/html/
To build the image:
docker build -t phpinfo:latest .
To run the image:
docker run --rm -p 8080:80 phpinfo
Basic PHP Docker Compose
version: "3" services: app: image: phpinfo container_name: phpinfo build: context: . dockerfile: docker/Dockerfile ports: - 8080:80
This can be built and run with:
docker-compose up --build -d
Extensions
PHP extensions can be installed via docker-php-ext-install
, e.g. to install the MySQL extension:
RUN docker-php-ext-install pdo_mysql