STARTX Docker-Images Repository

docker-images

STARTX Profile licence Sources last commit Build Status Dockerhub Registry Docker Fedora pulls Docker Repository on Quay

This project is a collection of application or services containers ready to execute or embed your application as part of a building process (docker, podman, s2i) or by running it direcly with various containers engines like docker, podman, dockerEE, kubernetes or openshift.

Each container is provided with various underlying OS version based on CentOS, Fedora Linux, Alpine and UBI distributions. Kubernetes and Openshift friendly, they can all be used as a s2i builder within an openshift cluster.

If you're used to work with redhat like and distribution, you would prefer start working from a container based on this distribution rather than ubuntu or debian like distributions. OS, services and application you will find in this project will be closer to your favorite distribution

Please read each container manual for more information on how you can use it in your project and start using stable or experimental services in your applications

OS, Services and Applications guidelines

Type Guideline Available Running sample Registry
OS guide OS list examples
Services guide services list examples
Services/apache guide flavours examples docker.io quay.io
Services/couchbase guide flavours examples docker.io quay.io
Services/mariadb guide flavours examples docker.io quay.io
Services/memcache guide flavours examples docker.io quay.io
Services/mongo guide flavours examples docker.io quay.io
Services/nodejs guide flavours examples docker.io quay.io
Services/ooconv guide flavours examples docker.io quay.io
Services/php guide flavours examples docker.io quay.io
Services/postgres guide flavours examples docker.io quay.io
VDI guide VDI list examples
VDI/chrome guide flavours examples docker.io quay.io
VDI/firefox guide flavours examples docker.io quay.io
GitlabRunner guide GitlabRunner list examples
GitlabRunner/ansible guide flavours examples docker.io quay.io
GitlabRunner/apache guide flavours examples docker.io quay.io
GitlabRunner/bash guide flavours examples docker.io quay.io
GitlabRunner/nodejs guide flavours examples docker.io quay.io
GitlabRunner/php guide flavours examples docker.io quay.io
GitlabRunner/oc guide flavours examples docker.io quay.io
Applications guide applications list examples
Applications/phpmyadmin guide flavours examples docker.io quay.io
Applications/rockmongo guide flavours examples docker.io quay.io

Images flavours

For advanced users

You you want to use this repository and code to build and create locally theses containers. You can follow theses instructions to setup and working environment.

This section is usefull if you want :

  • Get latest version of embedded services, applications and underlying OS
  • Enhance container content by adding instruction into container(s) Dockefile before the build process
  • Use this set of container and flavour to benchmark application performance

Setup your working environment (mandatory)

If you want to be guided on setting-up and installing various containers engines (docker, podman, s2i, dockerEE, kubernetes, openshift) you can read ours containers engines guidelines.

  1. Install docker and docker-compose on your environment
  2. Check if you have a running docker daemon using docker --version If not try to run it using sudo docker --daemon. If docker is not installed, follow docker installation guidelines
  3. Check if you have docker-compose installed using docker-compose --version. If docker-compose is not installed, follow docker-compose installation guidelines
  4. Check if you have git installed using git --version. If git is not installed, execute sudo dnf install -yq git
  5. Copy repository source locally
  6. Setup a working directory with mkdir startx-docker-images; cd startx-docker-images;
  7. Clone source repository with git clone https://gitlab.com/startx1/containers.git .

Build all containers using docker-compose

If you want to build and run locally all the images provided in this repository, you can follow this instructions

  1. Choose your flavour with git checkout ≤flavour_name>. You can use every flavour available in this repository. Default is set to master branch related to the :latest flavour
  2. Create host directory to store container content with mkdir /tmp/container.
  3. Start building all containers with docker-compose build. You should be on top of your working directory to run this command. It will use the docker-compose.yml file located into this directory.
  4. Wait... (could take some time as you are building the complete list of services
  5. Run your multi-container with docker-compose up -d
  6. Look at your containers startup with docker-compose logs. You can add a service name to get logs about this specific container. You can also monitor /tmp/container/logs to see logs comming from all containers
  7. Monitor containers with docker-compose ps.

Run a single container

Build & run a container using docker

  1. Build the container using docker build -t <image_name> <path_to_Dockerfile> where image-name is the name of your future local image and_path_to_Dockerfile_ should point to the targeted service or application directory, not including the Dockefile filename
  2. Run this container
  3. Interactively with docker run -it <image_name> where image_name is the name of your previously created image name. If you add a second parameter, you can run a particular command instead of the default entrypoint. Could be usefull when you add /bin/bash to get a shell running into the container
  4. As a daemon with docker run -d <image_name> where image_name is the name of your previously created image name.

Build & run a container using docker-compose

  1. Jump into the container directory you wan to build with cd <path_to_service> where path_to_service is the targeted service or application directory, not including the docker-compose.yml filename
  2. Run this container
  3. Interactively with docker-compose up. You should see container startup logs and escaping this command will stop the container
  4. As a daemon with docker-compose up -d. You can look at your container startup and behaviour with docker-compose logs

sx lib release lifecycle

You can run sx version to know witch version of the sx-lib you are running. Older environement may not be updated and stay stiked to a defined stable release.

Release Description
0.95.25 move from github to gitlab and from travis to gitab-ci
0.95.23 adding fc35 branch
0.95.21 adding fc34 and fc33 branch
0.95.17 stable ubi8, centos7, centos8, fc32, fc31 and fc30 branch
0.95.15 debug mariadb configuration on build or run
0.95.11 improve verbose display
0.95.9 debug and stabilize dockerfiles
0.95.7 Add s2i label for s2i compat
0.95.5 Add .data.sql and .schema.sql dump support for mariadb
0.95.3 Updating docker for better diff and merge. Improve doc structures
0.93.1 Unstable release with UBI and centos8 added. Prepare first major release
0.40.0 Stable release with updated images lib packages
0.31.3 Stable release with images fully compatible with OKD 4.0 (s2i, podman)
0.31.1 Adding temporize function into sx lib
0.31.0 Adding support for fedora 31 containers
0.4.16 Adding support for OKD 3.11 (s2i, docker)
0.4.10 Adding build and deploy templates for OCP 3.9
0.4.8 Adding images streams for OCP 3.6
0.4.3 Adding post-build, pre-deploy, post-deploy hooks extentions in code environement
0.4.0 Adding build and run s2i support
0.3.0 Adding support for fedora 30 containers
0.2.0 Adding support for fedora 29 and alpine containers

sx-lib release is defined with the following rules

Release Name Description
x.0.0 Major Major change in the sx-lib constitution
x.x.0 Minor Major change in offered docker image flavour (second numeric coresponding to the fedora release counter. ex: Fedora 31 = x.31.x sx-lib release)
x.x.x Push Evolution, bugfix or security fix related to the sx-lib or image construction