This repository contains a collection of "Dockerfile" for their respective automated build in Docker hub,
found at https://hub.docker.com/u/picoded/
Note that if your seeing this README directly in docker, chances are you are using one of the images that will
either be in the process of being rewritten. Or replaced;
Any problems / comments / kudos should be filed at github =)
Overhaul in progress
Note that gradually overtime, I would be refactoring these various file to a more structured format
See their respective README for more details. These Dockerfile, typically represents various iterations,
of all my DevOps docker experiences. Refined for multiple use cases.
Base ubuntu images, with additional module (such as openjdk) installed. Used to build applications runners.
Clones a git repository, and runs a command on it.
- (git-cloner-base : Ubuntu-base image, with git clone)[https://github.com/picoded/dockerfiles/tree/master/git-cloner/git-cloner-base]
- (git-cloner-plus : With additional preinstall module, like java, or npm)[https://github.com/picoded/dockerfiles/tree/master/git-cloner/git-cloner-plus]
- git-cloner-* (see: git-cloner-plus)[https://github.com/picoded/dockerfiles/tree/master/git-cloner/git-cloner-plus]
Download a zip file, unzip it, and runs a command on it.
- (zip-cloner-base : Ubuntu-base image, with git clone)[https://github.com/picoded/dockerfiles/tree/master/zip-cloner/zip-cloner-base]
- (zip-cloner-plus : With additional preinstall module, like java, or npm)[https://github.com/picoded/dockerfiles/tree/master/zip-cloner/zip-cloner-plus]
- zip-cloner-* (see: zip-cloner-plus)[https://github.com/picoded/dockerfiles/tree/master/zip-cloner/zip-cloner-plus]
Start container, runs the respective action. Ends. Useful for onetime setup.
- (file-runner : Write content to a file)[https://github.com/picoded/dockerfiles/tree/master/runner/file-runner]
- (mysql-runner : Execute a mysql query)[https://github.com/picoded/dockerfiles/tree/master/runner/mysql-runner]
- (curl-post-runner : Runs a curl POST request)[https://github.com/picoded/dockerfiles/tree/master/runner/curl-post-runner]
Every other folder not in organized Dockerfile, ranges from awesome, to crap, to not working.
Even I was a Docker noob once, and had to start from somewhere =P
This is an obvious choice due to the highly public nature of these Docker repo's and how easy,
or commonly the scripts can be replicated.
For most of the Dockerfiles, I wager that someone out there has something similar.
Hopefully mine is better, Cheers!
Eugene @ Picoded.com
Some general guidelines
- Follow the standard environment as specified inside (base/README)[https://github.com/picoded/dockerfiles/tree/master/base]
- Do not include external files (where practical), echo and write it out in Dockerfile instead.
- This is because with layers and layers of file add, is un-viewable and un-traceable in Docker hub.
- Have a sane default for everything (if possible).
- I want things to be deployable without configuration
- Exception is for databases, or similar integration
- For application servers, build using (ubuntu-base)[https://github.com/picoded/dockerfiles/tree/master/base/ubuntu-base]
- For everthing else priotise according to the following : Offical repo, alpine, busybox, debian, ubuntu-base