Image runner-Bash

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

Simple container used to build & test bash scripts, using gitlabCI runner, under a container based on startx/fedora container

Available flavours

Docker Hub repository Content Bash Make
startx/runner-bash:latest Fedora core rawhide 5.1.4 4.3
startx/runner-bash:35 Fedora core 35 5.1.4 4.3
startx/runner-bash:34 Fedora core 34 5.1.4 4.3
startx/runner-bash:33 Fedora core 33 5.0.17 4.3
startx/runner-bash:32 Fedora core 32
startx/runner-bash:31 Fedora core 31 5.0.17 4.2.1
startx/runner-bash:30 Fedora core 30
startx/runner-bash:29 Fedora core 29
startx/runner-bash:28 Fedora core 28
startx/runner-bash:27 Fedora core 27
startx/runner-bash:26 Fedora core 26
startx/runner-bash:alma8 Alma 8 4.4.19 4.2.1
startx/runner-bash:rocky8 Rocky 8 4.4.19 4.2.1
startx/runner-bash:centos8 Centos 8 4.4.19 4.2.1
startx/runner-bash:centos7 Centos 7 4.2.46 3.82
startx/runner-bash:ubi8 RedHat UBI 8 4.4.20 4.3
startx/runner-bash:alpine3 Alpine 3.12 5.0.17 4.3

Running from dockerhub registry

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.

  • with docker you can run docker run -it --name="service-bash" startx/runner-bash from any docker host
  • with docker-compose you can create a docker-compose.yml file with the following content
  image: startx/runner-bash:latest
  container_name: "service-bash"
    - "/tmp/container/bash/logs:/logs:z"

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.

#... your container specifications
CMD ["/bin/sx", "run"]

Environment variable

This container is based on startx fedora container who came with some additional environment variable

Variable Type Mandatory Description
base image environement see environment list
HOSTNAME auto auto Container unique id automatically assigned by docker daemon at startup
LOG_PATH auto auto default set to /var/log/bash and used as a volume mountpoint

Exposed port

no exposed port

Exposed volumes

Container directory Description
/logs log directory used to record container and bash logs

Testing the service

access to the runner with docker logs service-bash.

For advanced users

You want to use this container and code to build and create locally this container, follow theses instructions.

This section will help you if you want to :

  • Get latest version of this service container
  • Enhance container content by adding instruction in Dockefile before build step

You must have a working environment with the source code of this repository. Read and follow how to setup your working environment to get a working directory. The following instructions assume you are at the top level of your working directory.

Build & run a container using docker

  1. Jump into the container directory with cd GitlabRunner/bash
  2. Build the container using docker build -t runner-bash .
  3. Run this container
  4. Interactively with docker run -v /logs -it runner-bash. 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,...)
  5. As a daemon with docker run -v /logs -d runner-bash sleep infinity

Build & run a container using docker-compose

  1. Jump into the container directory with cd GitlabRunner/bash
  2. Run this container
  3. Interactively with docker-compose up Startup logs appears and escaping this command stop the container
  4. As a daemon with docker-compose up -d. Container startup logs can be read using docker-compose logs

If you experience trouble with port already used, edit docker-compose.yml file and change port mapping