Не удается запустить Jenkins в контейнере Docker с помощью script.sh: docker: not found - PullRequest
1 голос
/ 12 июня 2019

Я попытался создать простое приложение JS в контейнере Jenkins Docker локально, и сборка завершилась неудачно:

script.sh: docker: not found (full stack trace is omitted for easier reading)

Вот Jenkinsfile приложения:

pipeline {
  agent { dockerfile true }

  stages {
    stage('Install') {
      steps {
        sh 'node -v '      
        sh 'yarn -v'
        sh 'ember -v'

      }
    }
  }
}

Вот Dockerfile приложения:

FROM node:12

RUN curl -o- -L https://yarnpkg.com/install.sh | bash
RUN npm install -g ember-cli

Что мне не хватает? Спасибо.

1 Ответ

0 голосов
/ 12 июня 2019

Вам не хватает докер-клиента на ваших узлах Jenkins.

Если вы запускаете Jenkins как докер-контейнер, вам также необходимо установить Docker внутри него.

Этот Dockerfile будетиспользуйте контейнер Jenkins в качестве базового образа, а затем установите клиент Docker, чтобы он мог взаимодействовать с демоном Docker.

от jenkinsci / jenkins: lts

USER root
RUN apt-get update -qq \
    && apt-get install -qqy apt-transport-https ca-certificates curl gnupg2 software-properties-common 
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"
RUN apt-get update  -qq \
    && apt-get install docker-ce=17.12.1~ce-0~debian -y
RUN usermod -aG docker jenkins

Или, если выЧтобы установить Jenkins другим способом, вам все равно нужно установить Docker на узел Jenkins.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...