| https://github.com/compose-spec/compose-spec/blob/master/spec.md#version-top-level-element Signed-off-by: Guillaume Lours <guillaume.lours@docker.com> | ||
|---|---|---|
| .. | ||
| app | ||
| docker-compose.yaml | ||
| README.md | ||
Compose sample application
PHP application with Apache2
Project structure:
.
├── docker-compose.yaml
├── app
    ├── Dockerfile
    └── index.php
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 one container 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