当从Dockerfile调用时,lein deps退出

时间:2017-07-30 11:31:50

标签: maven docker dockerfile leiningen

从Dockerfile RUN命令调用时,

lein deps退出。这意味着我无法预加载我的.m2存储库。

可以 tty进入docker容器并成功运行WORKDIR中的RUN lein deps RUN /bin/bash -c 'lein deps' RUN ["/bin/bash", "-c", "lein deps"] 。但这些命令都不适用于Dockerfile。

The command 'lein deps' returned a non-zero code: 1

他们都会产生这个错误。

FROM pandeiro/lein:latest

COPY . /app
WORKDIR /app
RUN lein deps

ENTRYPOINT ["/bin/bash"]

我的Dockerfile看起来像这样。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="35dp"
        android:layout_marginTop="1dp"
        android:layout_marginBottom="1dp"
        android:src="@drawable/ok" >
    </ImageView>

    <TextView
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center_vertical"
        android:text="@+id/label"
        android:textSize="20dp" >
    </TextView>

</LinearLayout>

1 个答案:

答案 0 :(得分:1)

Docker的best practices guide建议单独复制将在以后的Dockerfile步骤中使用的文件。通过最初只在其余文件之前复制project.clj,我能够成功运行lein deps

FROM pandeiro/lein:latest

COPY project.clj /app
RUN lein deps
COPY . /app

ENTRYPOINT ["/bin/bash"]

(另外,pandeiro/lein创建/app并将其设置为WORKDIR,因此我省略了这些步骤。)