2016-10-04 179 views
0

我有一個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 <[email protected]> 

ENV DEBIAN_FRONTEND noninteractive 

# Install dependencies 
RUN dpkg --add-architecture i386 && \ 
    apt-get update && \ 
    apt-get install -yq libstdc++6:i386 zlib1g:i386 libncurses5:i386 --no-install-recommends && \ 
    apt-get install zip && \ 
    apt-get -y install --reinstall locales && \ 
    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       && \ 
    curl -L "${ANDROID_NDK_URL}" > file.zip && \ 
    unzip -q file.zip      && \ 
    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 

輸出是 搬運工運行-t -v $(PWD)/應用:/項目/應用lebedevsd/android_sdk_build:最新./gradlew清潔assemblePRelease -PversionCode = 24 -PversionName = 0.0.24

docker:來自守護進程的錯誤響應:oci運行時錯誤:exec:「./gradlew」:stat ./gradlew:沒有這樣的文件或目錄。

回答

0

問題是我安裝了錯誤的目錄:$(pwd)/ app而不是$(pwd)。

正確的方法是:

搬運工運行-i -v $(PWD):/項目-w /項目lebedevsd/android_sdk_build:最新./gradlew乾淨