Skip to content

Latest commit

 

History

History
31 lines (25 loc) · 1.89 KB

File metadata and controls

31 lines (25 loc) · 1.89 KB

Dockerfiles for the Docker Hub images

This repository has the Dockerfiles used for the Docker images uploaded on Docker Hub for Engine Yard Kontainers here: https://hub.docker.com/r/engineyard/kontainers.

Structure

The Dockerfiles are the only resource needed in order to build and upload the images to Docker Hub. In order to keep track of the current and future images, the directories are structured as follows:

ruby/
└── ruby_version
    └── base_OS
        └── OS_distro

The above structure means that we can have images for ruby, nodejs, php etc and various linux distros e.g. Alpine, Ubuntu, Debian etc.

Parent image

We have selected as parent image the Debian's buster or stretch version that offer LTS support that covers our needs until June 2022 (source)

Versioning

The images that are uploaded to Docker Hub follow the Semantic Versioning.

Process

The steps followed are:

  1. create a branch for the work to do, following the convention of fbz-xyzd-description
  2. create a new Dockerfile e.g. ruby/2.5.8/debian/slim-buster/Dockerfile.ruby_2.5.8_debian_slim_buster
  3. build the image locally: docker build --file ./ruby/2.5.8/debian/slim-buster/Dockerfile.ruby_2.5.8_debian_slim_buster --tag=ruby_2.5.8_debian_slim_buster .
  4. test the image: docker run --rm -ti ruby_2.5.8_debian_slim_buster /bin/bash
  5. create an image tag to upload: docker build --no-cache --file ./ruby/2.5.8/slim-buster/Dockerfile.ruby_2.5.8_debian_slim_buster -t engineyard/kontainers:ruby-2.5-v1.0.0 .
  6. push the image to Docker Hub: docker push engineyard/kontainers:ruby-2.5-v1.0.0
  7. submit a PR and mark Rupika, Dennis, or Daniel for review.
  8. upon acceptance, updated the 'Supported Tags' section at DockerHub to point to the updated image.