В настоящее время я пытаюсь создать свой собственный образ докера Jenkins с целью иметь сервер Jenkins, который может создавать проекты на основе Android gradle и образы докеров.
Из моего репозитория github (https://github.com/mikedolx/docker-jenkins-android) вот так выглядит мой файл докера:
FROM xmartlabs/android AS android
USER root
RUN apt-get update && \
apt-get install -y apt-transport-https curl software-properties-common && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \
apt-get update && \
apt-cache policy docker-ce && \
apt-get clean && \
apt-get install -y docker-ce
FROM jenkins/jenkins
ENV ANDROID_HOME /opt/android-sdk-linux
COPY --from=android ${ANDROID_HOME} ${ANDROID_HOME}
COPY --from=android /usr/lib/jvm/java-8-oracle /usr/lib/jvm/java-8-oracle
COPY --from=android /usr/bin/gradle /usr/bin/gradle
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
# Unfortunately, "chown" flag seems not to be available for COPY in DockerHub.
USER root
RUN chown -R jenkins:jenkins ${ANDROID_HOME}
USER jenkins
ENV ANDROID_EMULATOR_FORCE_32BIT true
Я добавил необходимые шаги для установки докера. Я взял их из этого блога: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04.
Iмогу успешно создать образ и запустить сервер jenkins с помощью следующего docker-compose.yml
version: '2.2'
services:
jenkins:
image: mikedolx/jenkins-android:latest
container_name: jenkins
user: jenkins
volumes:
- jenkins-data:/var/jenkins_home
ports:
- 8080:8080
- 50000:50000
volumes:
jenkins-data:
У меня есть проект конвейерного проекта для создания этого образа (https://github.com/mikedolx/docker-nextcloud). Когда я запускаю сборкуостанавливается на втором этапе со следующим журналом:
[Nextcloud-Github] Running shell script
+ docker build -t mikedolx/nextcloud:14.0.1 --file Dockerfile.14.0 .
/var/jenkins_home/workspace/Nextcloud-Github@tmp/durable-f5e443ce/script.sh: 2: /var/jenkins_home/workspace/Nextcloud-Github@tmp/durable-f5e443ce/script.sh: docker: not found
Когда я ssh в контейнер jenkins и пытаюсь запустить "docker", я получаю ту же ошибку.
Вопросы:
- как мне построить образ докера jenkins, содержащий необходимые двоичные файлы для построения образа докера?
- Это правильный подход для создания образа докера через jenkins?
Заранее спасибо,
С уважением,
Майкл