Не удается выполнить команду с помощью Docker

#android #docker

#Android #docker

Вопрос:

У меня есть контейнер docker, целью которого является создание проекта Android NDK. Этот контейнер создается с помощью этого руководства http://ainoya.io/docker-android-walter . Вот файл Docker:

 # based on https://registry.hub.docker.com/u/samtstern/android-sdk/dockerfile/ with openjdk-8
FROM java:8

MAINTAINER Lebedevsd <lebedevsd@gmail.com>

ENV DEBIAN_FRONTEND noninteractive

# Install dependencies
RUN dpkg --add-architecture i386 amp;amp; 
    apt-get update amp;amp; 
    apt-get install -yq libstdc  6:i386 zlib1g:i386 libncurses5:i386 --no-install-recommends amp;amp; 
    apt-get install zip amp;amp; 
    apt-get -y install --reinstall locales amp;amp; 
    apt-get clean

# Download and setup android NDK
ENV ANDROID_NDK_URL http://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip
RUN cd /usr/local                           amp;amp; 
    curl -L "${ANDROID_NDK_URL}" > file.zip amp;amp; 
    unzip -q file.zip                       amp;amp; 
    rm file.zip
ENV ANDROID_NDK_HOME /usr/local/android-ndk-r12b
ENV PATH ${ANDROID_NDK_HOME}/:$PATH

# Download and untar SDK
ENV ANDROID_SDK_URL http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
RUN curl -L "${ANDROID_SDK_URL}" | tar --no-same-owner -xz -C /usr/local
ENV ANDROID_HOME /usr/local/android-sdk-linux
ENV ANDROID_SDK /usr/local/android-sdk-linux
ENV PATH ${ANDROID_HOME}/tools:$ANDROID_HOME/platform-tools:$PATH

# Install Android SDK components

ONBUILD COPY android_sdk_components.env /android_sdk_components.env
ONBUILD RUN (while :; do echo 'y'; sleep 3; done) | android update sdk --no-ui --all --filter "$(cat /android_sdk_components.env)"

# Support Gradle
ENV TERM dumb
ENV JAVA_OPTS -Xms512m -Xmx768m
  

Вывод
: docker run -t -v $(pwd)/app:/project/app lebedevsd/android_sdk_build:последняя версия./gradlew clean assemblePRelease -PversionCode=24 -PversionName=0.0.24

docker: ответ об ошибке от демона: ошибка времени выполнения oci: exec: «./ gradlew»: stat ./gradlew: такого файла или каталога нет.

Ответ №1:

Проблема заключалась в том, что я монтировал неправильный каталог: $ (pwd) / app вместо $ (pwd).

правильный путь:

docker run -i -v $(pwd):/project -w /project lebedevsd/android_sdk_build:последняя версия ./gradlew clean