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
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 |
Applications | guide | applications list | examples | |
Applications/phpmyadmin | guide | flavours | examples | docker.io quay.io |
Applications/rockmongo | guide | flavours | examples | docker.io quay.io |
latest
based on fedora rawhide see detailfc31
based on fedora core 31 see detailfc30
based on fedora core 30 see detailfc29
based on fedora core 29 see detailfc28
based on fedora core 28 see detailfc27
based on fedora core 27 see detailfc26
based on fedora core 26 see detailcentos8
based on Centos 8 see detailcentos7
based on Centos 7 see detailcentos6
based on Centos 6 see detailalpine3
based on Alpine 3.10 see detailubi8
based on RedHat UBI 8 see detail
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
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.
- Install docker and docker-compose on your environment
- Check if you have a running docker daemon using
docker --version
If not try to run it usingsudo docker --daemon
. If docker is not installed, follow docker installation guidelines - Check if you have docker-compose installed using
docker-compose --version
. If docker-compose is not installed, follow docker-compose installation guidelines - Check if you have git installed using
git --version
. If git is not installed, executesudo dnf install -yq git
- Copy repository source locally
- Setup a working directory with
mkdir startx-docker-images; cd startx-docker-images;
- Clone source repository with
git clone https://github.com/startxfr/docker-images.git .
If you want to build and run locally all the images provided in this repository, you can follow this instructions
- 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 - Create host directory to store container content with
mkdir /tmp/container
. - 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. - Wait... (could take some time as you are building the complete list of services
- Run your multi-container with
docker-compose up -d
- 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 - Monitor containers with
docker-compose ps
.
- 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 - Run this container
- 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 - As a daemon with
docker run -d <image_name>
where image_name is the name of your previously created image name.
- 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 - Run this container
- Interactively with
docker-compose up
. You should see container startup logs and escaping this command will stop the container - As a daemon with
docker-compose up -d
. You can look at your container startup and behaviour withdocker-compose logs
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.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 |