awesome-compose/apache-php
Chad Metcalf 702ec96821
Adding a Makefile and basic tests.
This approach uses bats to create a generic docker-compose test. It
checks that images are pullable, projects are buildable, up works, and
if ports are exposed that something is listening.

The tests can be tailored for each example. As long as they are the same
though, you can edit lib/test.bats.example and then `make update-tests`
and all the tests will be synced.

Signed-off-by: Chad Metcalf <chad@docker.com>
2020-08-08 14:26:52 -07:00
..
app Sample for apache-php7 (#42) 2020-04-06 18:31:23 +02:00
docker-compose.yaml Sample for apache-php7 (#42) 2020-04-06 18:31:23 +02:00
README.md Sample for apache-php7 (#42) 2020-04-06 18:31:23 +02:00
test.bats Adding a Makefile and basic tests. 2020-08-08 14:26:52 -07:00

Compose sample application

PHP application with Apache2

Project structure:

.
├── docker-compose.yaml
├── app
    ├── Dockerfile
    └── index.php

docker-compose.yaml

services:
  web:
    build: app
    ports: 
      - '80:80'
    volumes:
      - ./app:/var/www/html/

Deploy with docker-compose

$ docker-compose up -d
Creating network "php-docker_web" with the default driver
Building web
Step 1/6 : FROM php:7.2-apache
...
...
Creating php-docker_web_1 ... done

Expected result

Listing containers must show two containers running and the port mapping as below:

$ docker ps
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                  NAMES
2bc8271fee81        php-docker_web               "docker-php-entrypoi…"   About a minute ago  Up About a minute   0.0.0.0:80->80/tc    php-docker_web_1

After the application starts, navigate to http://localhost:80 in your web browser or run:

$ curl localhost:80
Hello World!

Stop and remove the containers

$ docker-compose down