Pipeline script removes the environment of the docker container for example the python example from the wiki does not work

      pipeline {
        agent { docker 'python:2.7' }
        stages {
          stage('build') {
            steps {
              sh 'pip --version'
              sh 'python --version'
            }
          }
        }
      }
      

      It complains it can not find pip.
      "-BLNTQZUKKFHPWKSPOCWYWUBGIXB3R5GHUR3CBX6DDZ4I7WKFS53Q@tmp/durable-61155246/script.sh: pip: not found"

      Change to /usr/bin/pip and it works, not ideal.

      As well as this '/usr/bin/pip install' does not work, as it can not write to system directories.
      I know virtualenv could be used but this defeats the point of using docker, as docker is the temporary environment.

          [JENKINS-41204] pipeline does not use docker environment

          Jesse Glick added a comment -

          TBD where the actual problem lies.

          Jesse Glick added a comment - TBD where the actual problem lies.

          Peter Marcoen added a comment -

          Any update on this jglick?
          I have the same issue where my Docker image installs some tools and sets the Path environment to include these folders.
          When using pipeline the Path variable from the Docker image is not retained.

          Peter Marcoen added a comment - Any update on this jglick ? I have the same issue where my Docker image installs some tools and sets the Path environment to include these folders. When using pipeline the Path variable from the Docker image is not retained.

          It's how docker works, runs don't see ENV variable sets, only builds.

          Adam Stankiewicz added a comment - It's how docker works, runs don't see ENV variable sets, only builds.

            Unassigned Unassigned
            madhousez Owen Haynes
            Votes:
            6 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: