Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-29390

Parameterization for Docker Container configuration.

XMLWordPrintable

      The Docker Custom Build Environment Plugin runs Docker Containers with a bunch of configuration parameters which seem to be hardcoded or discovered automatically from the slave's environment.
      This leads to errors on running containers. Resp. it requires the Docker image to be built especially for those configurations which on the other hand would make it less portable and therefor breaks one of the most important advantages of Docker.

      For example:

      • Jenkins slave is running as user Jenkins on the Docker host those User-ID is 1001. To avoid permission errors we have to configure a user with ID 1001 in the image/container as well. What if we use this image on a Docker host where the Jenkins user has ID 1002?
      • The PATH environment variable on the host is set to /usr/local/bin:/usr/bin. In the container which emulates another Distro it should also list /bin.
      • The container has to run a service in the background (e.g. Xvfb to perform UI tests) but is hardcoded initialized running /bin/cat instead of a custom initialization command/script.
      • The container's temporary directory /tmp is always mapped as volume to the host's temporary directory /tmp which may lead to errors running multiple containers creating their own but equally named temporary files (e.g. running Xvfb on display 99 inside a container).

            Unassigned Unassigned
            skahlhoefer Stefan Kahlhöfer
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: