2017-08-11 19 views
0

Dockerファイルは、S3から/ usr/binにバイナリをコピーするpythonスクリプトを呼び出します。これは初めてうまく動作します。しかし、それ以来、すべてがキャッシュされているため、「ドッカーの作成」は何もしません。バイナリが変更された場合、これは問題です。S3バケットからdocker-compose更新

--no-cacheでビルドするのが不十分ですが、 "docker-compose build"が存在する場合、常に新しいバイナリを選択する最良の方法は何ですか?バイナリが変更されていれば、バイナリが変更されていなくても不必要にバイナリをダウンロードしても問題ありません。

常に実行されるDockerfileステップが必要なようですか?

FROM ubuntu:trusty 

RUN apt-get update 
RUN apt-get -y install software-properties-common 
RUN apt-get -y install --reinstall ca-certificates 
RUN add-apt-repository ppa:fkrull/deadsnakes 

RUN apt-get update && apt-get install -y \ 
    curl \ 
    wget \ 
    vim \ 
    git \ 
    python3.5 \ 
    python3-pip \ 
    python3-setuptools \ 
    libpcap0.8-dev 

RUN ln -sf /usr/bin/python3.5 /usr/bin/python3 

ADD . /app 
WORKDIR /app 

# Install Python Requirements 
RUN pip3 install -r etc/python/requirements.txt 

# Download/Install processor and associated libs 
RUN python3 setup_processor.py 

RUN mkdir -p /logs 

ENTRYPOINT ["/app/entrypoint.sh"] 

setup_processor.pyは、S3から/ usr/binに直接ダウンロードします。

+0

あなたのDockerファイルを投稿する –

+0

@TarunLalwaniが上記のdockerfileを追加しました。 – Philip

答えて

1

今のところ、このような直接的な機能はありません。しかし、あなたのソリューションには回避策があります。

docker build --build-arg BUILD_ON=$(date) .... 

下の画像の使用を構築しながらこれは常にあなたがした後、ARGのステップで変更し、すべての手順キャッシュを取得することを確認しますあなたのダウンロードステップ

ARG BUILD_ON=now 
# Download/Install processor and associated libs 
RUN python3 setup_processor.py 

前にビルド引数を追加します。それは無効にされます

機能は既に要求されており、スレッドの下で処理されています

https://github.com/moby/moby/issues/1996

関連する問題