Docker and PHP: Difference between revisions

From Rixort Wiki
Jump to navigation Jump to search
No edit summary
Line 10: Line 10:
== Run a basic PHP Docker image ==
== Run a basic PHP Docker image ==


  docker run php:7.3-apache-stretch php --version
  docker run php:7.4-apache-buster php --version


== Basic PHP Dockerfile ==
== Basic PHP Dockerfile ==
Line 16: Line 16:
Build an image and copy in a PHP file:
Build an image and copy in a PHP file:


  FROM php:7.3-apache-stretch
  FROM php:7.4-apache-buster
   
   
  COPY index.php /var/www/html/
  COPY index.php /var/www/html/

Revision as of 09:50, 3 September 2020

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: laravel-www
    container_name: laravel-www
    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