https://github.com/karimsa/postsec-docker
https://github.com/karimsa/postsec-docker
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/karimsa/postsec-docker
- Owner: karimsa
- Created: 2017-07-25T16:38:21.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-07-26T21:11:08.000Z (almost 9 years ago)
- Last Synced: 2025-03-11T21:04:00.674Z (over 1 year ago)
- Language: Makefile
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# postsec-docker
Docker image definitions for the Post-Secondary Database Registration
application.
- [Environment](#environment)
- [Development Environment](#development-environment)
- [Production Environment](#production-environment)
- [Available images](#available-images)
- [Usage](#usage)
## Environment
- OS: Ubuntu Xenial (16.04)
- Apache / v2.4.18
- PHP / v5.6.31-1
- MariaDB / v10.1.25
### Development Environment
- Defines public directory as a *volume* so that it is container-specific and not image-specific.
### Production Environment
- Defines public directory as a directory copied from host to image.
## Available images
- [`postsec/base`](Dockerfile): base image that provides prerequisites.
- [`postsec/dev`](development/Dockerfile): extends base image and sets up development environment.
- [`postsec/prod`](production/Dockerfile): extends base image and sets up production environment.
## Usage
These images are not currently part of any docker registry - neither public nor private. Due to
this, you will have to compile the images locally. The process is not much different but slightly
slower.
### Prerequisites
- Docker (any version - probably)
- `make` (any version)
### Building
- To build all images, just run `make` or `make all`.
- To build the base image, run `make base`.
- To build the development image, run `make development` or `make dev`.
- To build the production image, run `make production` or `make prod`.
### Running
For both versions, you will need to have a port free on the host computer to use for
hosting the application. Within the container, apache will be running on port 80. For
the purposes of this README, I will assume that your host port is 8080.
**Development version**
The development version requires you to mount the local application directory
to `/var/www/html`. For the purposes of this README, let's assume that your application
is stored locally at `/app`.
*Start in detached mode (container will run in background).*
```
$ docker run -d -v /app:/var/www/html -p 8080:80 postsec/dev
```
*Start in interactive foreground mode (Ctrl+C will close the server & logs will be displayed).*
```
$ docker run -it -v /app:/var/www/html -p 8080:80 postsec/dev
```
**Production version**
The production version requires you to copy the application over to `production/www`
before compiling the image. Sample build process:
```
$ rm -rf production/www
$ cp -R /app production/www
$ make prod
```
*Start in detached mode (container will run in background).*
```
$ docker run -d -p 8080:80 postsec/prod
```
*Start in interactive foreground mode (Ctrl+C will close the server & logs will be displayed).*
```
$ docker run -it -p 8080:80 postsec/prod
```