Я пытаюсь создать собственный образ докера с целями CI (конвейеры битбакета). После сборки и тестирования моего кода я хотел бы провести некоторый анализ с помощью sonarqube.
На моем пользовательском образе я попытался установить сонар-сканер, поэтому в контейнере он просто будет выполняться. Однако внутри контейнера (либо на битбакете, либо на моей локальной машине) происходит сбой с этой ошибкой:
/sonar-scanner-2.8/bin/sonar-scanner: 108: exec: : Permission denied
Я уже пробовал много разных способов установить права доступа и права собственности на каталог сканера, но ничего не сработало.
Что еще более удивительно, даже при запуске контейнера с флэш-памятью --privileged=true
я все равно получаю ту же ошибку.
Что мне не хватает в основах докера?
Это моя последняя версия Dockerfile:
# Pull base image.
FROM node:6
LABEL maintainer "Gabriel Araujo <[email protected]>"
ENV SONAR_SCANNER_VERSION 2.8
ENV SONAR_SCANNER_HOME /home/sonar-scanner-${SONAR_SCANNER_VERSION}
ENV SONAR_SCANNER_PACKAGE sonar-scanner-${SONAR_SCANNER_VERSION}.zip
ENV SONAR_RUNNER_HOME ${SONAR_SCANNER_HOME}
ENV PATH $PATH:${SONAR_SCANNER_HOME}/bin
ENV WORKDIR /home/workspace
# Define working directory.
WORKDIR ${WORKDIR}
# Install dependencies
RUN apt-get -yqq update && \
apt-get -yqq --no-install-recommends install git bzip2 curl unzip && \
npm install -g gulp bower && \
npm cache clean && \
apt-get -yqq autoremove && \
apt-get -yqq clean && \
rm -rf /var/lib/apt/lists/* /var/cache/* /tmp/* /var/tmp/*
# Allow root for bower
RUN echo '{ "allow_root": true }' > /root/.bowerrc
# Download sonar
RUN curl --insecure -OL https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/${SONAR_SCANNER_PACKAGE} && \
unzip ${SONAR_SCANNER_PACKAGE} -d /home && \
rm ${SONAR_SCANNER_PACKAGE}
RUN addgroup sonar && \
useradd -s /usr/sbin/nologin -d ${SONAR_SCANNER_HOME} -g sonar sonar && \
chown -R sonar:sonar ${SONAR_SCANNER_HOME} && \
chown -R sonar:sonar ${WORKDIR}
USER sonar