Image CENTOS
Startx centos is a base container used for all startx services and applications published in Dockerhub registry or Quay registry. This container contain :
- centos operating system
- core OS packages (kernel, libs) updated every week
- fundamentals tools (ex: pwgen, tar, zip) updated every week
- usefull tools (psmisc, procps, coreutils, findutils, wget, curl, vi, bash-completion) only for the
:latest
flavour.
You can use Startx image in many ways :
- Image CENTOS
- Container flavours
- Running this image
- Environment variable
- Container command
- For advanced users
See more applications builders and sample on startx docker images repository
Container flavours
Docker Hub repository | Distribution | Bash | Kernel |
---|---|---|---|
startx/centos:8 |
Centos 8 | 4.4.19 | |
startx/centos:7 |
Centos 7 | 4.2.46 | |
startx/centos:6 |
Centos 6 | 4.1.2 | |
startx/ubi:8 |
RedHat UBI 8 | 4.4.19 | |
startx/alpine:3 |
Alpine 3.12 | 5.0.17 |
Running this image
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.
Running using docker
docker run -it --name="example-centos" startx/centos
Running using docker-compose
- Create a
docker-compose.yml
file with the following content
centos:
image: startx/centos:latest
container_name: "example-centos"
- Execute the following command
docker-compose up -d
docker-compose logs
Running using Openshift
Openshift images streams
Openshift cluster administrator can offer this image and all its flavour to all consumers.
You can import our openshift images stream
in your openshift
project.
You must be cluster-admin to add this image to the openshift
project. If not, you can add it to your own
project (skip the oc project openshift
command in the next script)
# swith to the openshift project
oc project openshift
# Add image streams to the service catalog (project or cluster-wide scope)
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/OS/openshift-imageStreams.yml
Openshift builder template
Openshift cluster administrator can add a build and deploy template to their consumers.
As an administrator, you can import our openshift builder template
in your openshift
project.
You must be cluster-admin to add this image to the openshift
project. If not, you can add it to your own
project (skip the oc project openshift
command in the next script)
# swith to the openshift project
oc project openshift
# Add this template to the service catalog (project or cluster-wide scope)
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/OS/openshift-template-build.yml
You can then build an application
# create a example project
oc new-project example
# start a new application
oc process -f startx-os-build-template \
-p APP_NAME=myapp \
| oc create -f -
Openshift deploy template
Openshift cluster administrator can add a deploy template to their consumers.
As an administrator, you can import our openshift deploy template
in your openshift
project.
You must be cluster-admin to add this image to the openshift
project. If not, you can add it to your own
project (skip the oc project openshift
command in the next script)
# swith to the openshift project
oc project openshift
# Add this template to the service catalog (project or cluster-wide scope)
oc create -f https://raw.githubusercontent.com/startxfr/docker-images/master/OS/openshift-template-deploy.yml
You can then deploy an application
# create a example project
oc new-project example
# start a new application
oc process -f startx-os-deploy-template \
-p APP_NAME=myapp \
| oc create -f -
Using this image as S2I builder
Create your local project (skip if you already are in a project diretory with a run
bash script)
# Create a project directory
mkdir example-project
cd example-project
# create a run script
cat << "EOF"
#!/bin/bash -e
source $SX_LIBDIR/sx
startDaemon
EOF > run
chmod ug+x run
Then you can use this image as an s2i builder image
# With your current directory application code
s2i build . startx/centos:latest startx-bash-myapp
docker run --rm -i -t startx-bash-myapp
# With startx application sample code repository
s2i build https://gitlab.com/startx1/containers-example-bash startx/centos startx-bash-sample
docker run --rm -i -t startx-bash-sample
Using this image as base container
You can use this Dockerfile template to start a new personalized container based on this container. Create a file named Dockerfile
in your project directory and copy this content inside. See docker guide for instructions on how to use this file.
FROM quay.io/startx/centos:latest
#... your container specifications
Environment variable
Variable | Type | Default | Description |
---|---|---|---|
SX_VERSION | string |
latest |
container version |
SX_TYPE | string |
OS |
Container family (os, service, application). could be enhanced |
SX_SERVICE | string |
centos |
Define the type of service or application provided |
SX_ID | auto |
startx/centos |
Container ID coresponding to the image repository |
SX_NAME | auto |
yes |
Container name |
SX_SUMMARY | auto |
yes |
Container purpose description |
SX_VERBOSE | bool |
no |
Display information about the execution |
SX_DEBUG | bool |
no |
Display debug informations during execution |
APP_PATH | string |
/app |
Path to the application |
SX_S2IDIR | string |
/tmp |
Destination path to the application pushed via s2i process |
DAEMON_STOP_TIMEOUT | int |
3 | Number of second before stopping when smooth shutdown signal is received |
DAEMON_START_INTERVAL | int |
10 | Hearthbeat rythm (in second) for the startx default daemeon |
Container command
Variable | Description |
---|---|
assemble | Execute the build script on \$APP_PATH application |
post-build | Execute the post-build script |
pre-deploy | Execute the pre-deployment script |
post-deploy | Execute the post-deployment script |
run | Start the application |
daemon | Start container as a daemon |
isLive | Execute the liveness-probe script |
isReady | Execute the readyness-probe script |
info | Get information about the sx-os script |
usage | Get the usage message |
version | Get information about the sx-os version |
For advanced users
You can contribute or start this container initiative locally. Follow theses instructions to setup a working environment.
This section will help you if you want to :
- Get latest version of this container OS source code
- Enhance and share your container improvement by adding instruction in Dockefile
Build & run a container using docker
- Jump into the container directory with
cd OS
- Build the container using
docker build -t startx-centos .
- Run this container
- Interactively with
docker run -it startx-centos
. If you add a second parameter (like/bin/bash
) to will run this command instead of the default entrypoint. Usefull to interact with this container (ex:/bin/bash
,/bin/ps -a
,/bin/df -h
,…) - As a daemon with
docker run -d startx-centos
Build & run a container using docker-compose
- Jump into the container directory with
cd OS
- Run this container
- Interactively with
docker-compose up
Startup logs appears and escaping this command stop the container - As a daemon with
docker-compose up -d
. Container startup logs can be read usingdocker-compose logs