/dockershelf

A repository containing useful, lightweight and reliable dockerfiles.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0


Current version: 3.3.1

Dockershelf is a repository that serves as a collector for docker recipes that are universal, efficient and slim. We keep adding "shelves", which are holders for the different versions of a popular language or application. Images are updated, tested and published weekly via a Github Actions workflow. All images are available on Docker Hub.

Excepting debian and latex images, all images have an stable/unstable version. Stable images are based on debian stable, which are ideal for production applications because packages are not updated to minor or major versions but still recieve security updates. Unstable images are based on debian sid, which are designed for development stages because packages are constantly beaing updated to its latest version. Latex images are only based on debian stable.

Images are built for amd64 and arm64 architectures, which cover most of the devices in the market. If you need an image for a different architecture, please open an issue.

The list of available images is shown below.

Image type Tags
dockershelf/debian bullseye, oldstable, bookworm, stable, trixie, testing, sid, unstable, latest
dockershelf/python 3.7-bookworm, 3.7-stable, 3.7-sid, 3.7-unstable, 3.7, 3.11-bookworm, 3.11-stable, 3.11-sid, 3.11-unstable, 3.11, 3.12-bookworm, 3.12-stable, 3-stable, 3-bookworm, latest-stable, latest-bookworm, 3.12-sid, 3.12-unstable, 3.12, 3-unstable, 3-sid, 3, latest-unstable, latest-sid, latest
dockershelf/node 12-bookworm, 12-stable, 12-sid, 12-unstable, 12, 14-bookworm, 14-stable, 14-sid, 14-unstable, 14, 16-bookworm, 16-stable, 16-sid, 16-unstable, 16, 18-bookworm, 18-stable, 18-sid, 18-unstable, 18, 20-bookworm, 20-stable, latest-stable, latest-bookworm, 20-sid, 20-unstable, 20, latest-unstable, latest-sid, latest
dockershelf/go 1.19-bookworm, 1.19-stable, 1.19-sid, 1.19-unstable, 1.19, 1.20-bookworm, 1.20-stable, 1.20-sid, 1.20-unstable, 1.20, 1.21-bookworm, 1.21-stable, 1.21-sid, 1.21-unstable, 1.21, 1.22-bookworm, 1.22-stable, latest-stable, latest-bookworm, 1.22-sid, 1.22-unstable, 1.22, latest-unstable, latest-sid, latest
dockershelf/latex basic, latest, full

How to use

You can pull one of the images from Docker Hub and run it in your machine.

docker pull <image>
docker run -it <image> bash

<image> is the desired image to download, for example dockershelf/python:3.11.

or you can use it as a base image in your Dockerfile.

FROM dockershelf/debian:bookworm
RUN apt-get update \
    && apt-get install -y mysql-client
ENTRYPOINT ["mysql"]

How to build locally

Clone this repository to your machine.

git clone https://github.com/Dockershelf/dockershelf

Run the build script in the root folder of your local copy. Remember to have docker installed and make sure your user has proper privileges to execute docker build.

bash build-image.sh <image>

<image> is the desired image to build, for example dockershelf/node:16-bookworm.

Shelves

Debian

These images are similar to the official ones, but with some opinionated configurations. Check out debian/README.md for more details.

Image Dockerfile Pulls Size
dockershelf/debian:bullseye
dockershelf/debian:bookworm
dockershelf/debian:trixie
dockershelf/debian:sid

Python

These are debian stable/unstable images with python versions installed from the deadsnakes ppa. Check out python/README.md for more details.

Image Dockerfile Pulls Size
dockershelf/python:3.7-bookworm
dockershelf/python:3.7-sid
dockershelf/python:3.11-bookworm
dockershelf/python:3.11-sid
dockershelf/python:3.12-bookworm
dockershelf/python:3.12-sid

Node

These are debian stable/unstable images with node versions built using the nodesource installation script. Check out node/README.md for more details.

Image Dockerfile Pulls Size
dockershelf/node:12-bookworm
dockershelf/node:12-sid
dockershelf/node:14-bookworm
dockershelf/node:14-sid
dockershelf/node:16-bookworm
dockershelf/node:16-sid
dockershelf/node:18-bookworm
dockershelf/node:18-sid
dockershelf/node:20-bookworm
dockershelf/node:20-sid

Go

These are debian stable/unstable images with go version downloaded directly from the official website. Check out node/README.md for more details.

Image Dockerfile Pulls Size
dockershelf/go:1.19-bookworm
dockershelf/go:1.19-sid
dockershelf/go:1.20-bookworm
dockershelf/go:1.20-sid
dockershelf/go:1.21-bookworm
dockershelf/go:1.21-sid
dockershelf/go:1.22-bookworm
dockershelf/go:1.22-sid

Latex

These are debian stable images that come with a set of latex (basic or full) packages installed. Check out latex/README.md for more details.

Image Dockerfile Pulls Size
dockershelf/latex:basic
dockershelf/latex:full

Made with ๐Ÿ’– and ๐Ÿ”

Banner

Web luisalejandro.org ยท GitHub @LuisAlejandro ยท Twitter @LuisAlejandro