Dockerfile Boilerplates For All
Docker boilerplates / templates for most common progamming languages. Like a Hello World! but for docker images.
Note: Not production quality yet
List Of Programming Languages
Docker
Docker is service which provides OS-level virtualization with such ease and compatibility that no virtual machines can offer. It also packs software dependencies within itself and runs independently and flexibly on various platforms.
To know more: docker.com
Instructions
Where do I start?
βοΈ Two Choices.
#1: Pull the image from dockerhub and run
- docker pull gauthamp10/language-name
- docker run --rm gauthamp10/language-name
For web app
- docker run -p 5000:5000 --rm -v /path/to/volume/:/app language-name
Example:
- docker pull gauthamp10/java
- docker run --rm gauthamp10/java
To add the image in your Dockerfile:
FROM gauthamp10/language-name:latest
Example:
FROM gauthamp10/java
#2: Build your own version from the template Dockerfile
At first edit the Dockerfile as per your liking
- docker build -t language-name .
- docker run --rm language-name
Example:
- docker build -t java .
- docker run --rm java
How can I upload my image to docker hub?
Create an account on dockerhub and then
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- docker tag language-name $DOCKER_USERNAME/language-name:$BUILD_VERSION
- docker push $DOCKER_USERNAME/language-name:$BUILD_VERSION
Example:
- docker login -u gauthamp10 -p **********
- docker tag java gauthamp10/java:1.0
- docker push gauthamp10/java:1.0
Play around with your custom build by
- docker pull $DOCKER_USERNAME/language-name:latest
Example:
- docker pull gauthamp10/java:latest
Overview Of Dockerfile
Image Name | Language Version | Base Image | Layers | Image Size |
---|---|---|---|---|
gauthamp10/ada | 10.1.0-1 | ubuntu:latest | ||
gauthamp10/bash | 4.4.20 | alpine:latest | ||
gauthamp10/c-build | 9.3.0-r2 | alpine:latest | ||
gauthamp10/clsip | 2.49.92 | ubuntu:latest | ||
gauthamp10/cpp | 9.3.0-r2 | alpine:latest | ||
gauthamp10/dart | 2.8.2 | ubuntu:latest | ||
gauthamp10/deno | 1.0.5 | alpine:latest | ||
gauthamp10/elixir | 1.10.3-r0 | alpine:latest | ||
gauthamp10/erlang | 23.0-r0 | alpine:latest | ||
gauthamp10/fortran | 9.3.0-r2 | alpine:latest | ||
gauthamp10/go-build | 1.14 | golang:1.14 | ||
gauthamp10/haskell | 8.8.3-r0 | alpine:latest | ||
gauthamp10/icon | v951 | ubuntu:latest | ||
gauthamp10/java | openjdk8 | alpine:latest | ||
gauthamp10/javascript | 1.18.0-r0(nginx) | nginx:alpine | ||
gauthamp10/julia | 1.4.1 | ubuntu:latest | ||
gauthamp10/kotlin | v1.3.72 | alpine:latest | ||
gauthamp10/lisp | 6.24-3 | ubuntu:latest | ||
gauthamp10/lua | 5.2.4 | alpine:latest | ||
gauthamp10/node | 12.16.3-r0 | alpine:latest | ||
gauthamp10/objc | 4.9.3.0-1 | ubuntu:latest | ||
gauthamp10/perl | 5.30.2-r0 | alpine:latest | ||
gauthamp10/php | 7.4 | php:latest-apache | ||
gauthamp10/python | 3.6 | python:3.6-slim | ||
gauthamp10/pythonweb | 3.6 | python:3.6-slim | ||
gauthamp10/r-build | 3.6.3-r2 | alpine:latest | ||
gauthamp10/rust | 1.43.1-r1 | alpine:latest | ||
gauthamp10/scala | 2.13.2 | ubuntu:latest | ||
gauthamp10/swift | 5.2.3r | ubuntu:latest |
Note:
This repo is tested with automated builds on commit with TRAVIS-CI. Some image meta data is being pulled using Microbadger.
How can I contribute?
Contributions are always welcomed. Create a boilerplate / template for any other programming languages or you could also add any multistage builds which are not available in the repo by opening a pull request.For more information checkout the CONTRIBUTING.md file.
Contributors ππ
Gautham Prakash βοΈ |
Joshua Walcher π |
Raphael Habereder βοΈ |
Nicolas CARPi βοΈ |
Alen Joseph βοΈ |
Author
Gautham Prakash
My other projects: github.com/gauthamp10
Website: gauthamp10.github.io
Blog: gauthamp10/blog
License
This project is licensed under the MIT License - see the LICENSE file for details