docker从S3 bucket编写更新
我们的Dockerfile调用一个python脚本,该脚本将二进制文件从S3复制到/usr/bin。这在第一次使用时效果很好。但从那时起,docker compose build什么都不做,因为所有内容都被缓存了。如果二进制文件已更改,则这是一个问题 除了没有缓存的构建之外,确保docker compose构建始终拾取新二进制文件(如果有)的最佳方法是什么。我们不介意它不必要地下载二进制文件,即使没有更改,只要它工作,那么二进制文件已经更改 似乎我们想要一个始终执行的Dockerfile步骤docker从S3 bucket编写更新,docker,Docker,我们的Dockerfile调用一个python脚本,该脚本将二进制文件从S3复制到/usr/bin。这在第一次使用时效果很好。但从那时起,docker compose build什么都不做,因为所有内容都被缓存了。如果二进制文件已更改,则这是一个问题 除了没有缓存的构建之外,确保docker compose构建始终拾取新二进制文件(如果有)的最佳方法是什么。我们不介意它不必要地下载二进制文件,即使没有更改,只要它工作,那么二进制文件已经更改 似乎我们想要一个始终执行的Dockerfile步骤 F
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。,因此目前还没有类似的直接功能。但您的解决方案有一个变通方法 在下载步骤之前添加构建参数
ARG BUILD_ON=now
# Download/Install processor and associated libs
RUN python3 setup_processor.py
在构建图像时,请使用下面的
docker build --build-arg BUILD_ON=$(date) ....
这将始终确保您在ARG步骤中得到更改,之后的所有步骤缓存都将无效
已经请求了一个功能,并且正在下面的线程上进行处理
张贴你的Dockerfile@TarunLalwani在上面添加了dockerfile。