Sometimes getting to a good docker based setup for your new project is a little too inconvenient.
This repository aims to maintain a collection of up-to-date quickstart base repos that will help you bootstrap your shiny new docker project.
Some examples:
- Static file service based on nginx
- Web service in Swift (Vapor, Perfect)
- Deploying a MySQL service
- Wordpress
- A simple php-apache quickstart
Folders in this repo represent base repos for web frameworks, CMSs or databases.
- Use
docker build
to build your own image - Initialise a git repo, and run
git push
to push to github that can be integrated with a docker hub's automated builds - Use
docker run
and get a running container. Basic configuration options are specified in docker-config.yaml.
This is just a collection of quickstart repos. The idea is to modify the quickstart template as you need to get to a basic setup that works. Hence, this doesn't include things like setting up docker-compose files or more advanced framework specific configurations yet.
Every base repo has the following structure:
/
--Dockerfile
--docker-config.yaml
--README.md
--app/
The README inside the base repo will contain further instructions.
To use any base-repo, do the following:
-
Clone this repo:
git clone https://github.com/hasura/quickstart-docker-git
-
Copy the relevant base-repo:
mv quickstart-docker-git/nodejs-express my-node-project
-
Copy the relevant base-repo:
mv quickstart-docker-git/nodejs-express my-node-project
-
Initialize your own git repo inside this folder if you want:
cd my-node-project && git init
-
Build and run your own docker image:
docker build -t my-node-app .
-
Test if this app is working by making a request to the container, at '/'.
All base repos in this collection can readily be integrated to setup an automated docker image build system.
Read here for more details: https://docs.docker.com/docker-hub/github/
Please fork, file comments/bugs and submit your PRs! We've created a list of issues where active help is required: help-wanted.
Specifically,
- Add support for more frameworks
- Optimise
Dockerfile
s for faster builds, or for production (esp. for compiled languages)
Some important things to keep in mind when contributing:
- Expose only one port, and one data volume to help keep things simple
- Annotate the
Dockerfile
with comments where you expect users to modify - Try to document the following major use cases when writing your README:
docker build
,git push
based automated docker build,docker run