Adapted from:
http://linoxide.com/containers/setup-lemp-stack-docker/
Resources:
https://docs.docker.com/engine/getstarted/step_four/#step-1-write-a-dockerfile
- Create a root directory by the name LEMP-Docker and a single file docker-compose.yml inside it
- For NGINX logs, create a directory by the name "logs" inside LEMP-Docker and create two files nginx-access.log and nginx-error.log inside logs directory.
- For NGINX config file, create a directory by the name "sites-available" inside LEMP-Docker and create a default config file.
- At last for your PHP files create a directory by the name public_html inside LEMP-Docker. We will place PHP files in this directory at later stage.
So our directory structure looks like the following:
LEMP-Docker/
├── docker-compose.yml
├── logs
│ ├── nginx-access.log
│ └── nginx-error.log
├── public_html
│ └── index.php
└── sites-available
└── default
Next, edit your docker-compose.yml
with the following entry:
nginx:
image: tutum/nginx
ports:
- "80:80"
volumes:
- ./sites-available/default:/etc/nginx/sites-available/default
- ./sites-available/default:/etc/nginx/sites-enabled/default
- ./logs/nginx-error.log:/var/log/nginx/error.log
- ./logs/nginx-access.log:/var/log/nginx/access.log