Tôi có Dockerfile bên dưới.xây dựng lại hình ảnh docker từ bước cụ thể
FROM ubuntu:14.04
MAINTAINER Samuel Alexander <[email protected]>
RUN apt-get -y install software-properties-common
RUN apt-get -y update
# Install Java.
RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections
RUN add-apt-repository -y ppa:webupd8team/java
RUN apt-get -y update
RUN apt-get install -y oracle-java8-installer
RUN rm -rf /var/lib/apt/lists/*
RUN rm -rf /var/cache/oracle-jdk8-installer
# Define working directory.
WORKDIR /work
# Define commonly used JAVA_HOME variable
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
# JAVA PATH
ENV PATH /usr/lib/jvm/java-8-oracle/bin:$PATH
# Install maven
RUN apt-get -y update
RUN apt-get -y install maven
# Install Open SSH and git
RUN apt-get -y install openssh-server
RUN apt-get -y install git
# clone Spark
RUN git clone https://github.com/apache/spark.git
WORKDIR /work/spark
RUN mvn -DskipTests clean package
# clone and build zeppelin fork
RUN git clone https://github.com/apache/incubator-zeppelin.git
WORKDIR /work/incubator-zeppelin
RUN mvn clean package -Pspark-1.6 -Phadoop-2.6 -DskipTests
# Install Supervisord
RUN apt-get -y install supervisor
RUN mkdir -p var/log/supervisor
# Configure Supervisord
COPY conf/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
# bash
RUN sed -i s#/home/git:/bin/false#/home/git:/bin/bash# /etc/passwd
EXPOSE 8080 8082
CMD ["/usr/bin/supervisord"]
Trong khi xây dựng hình ảnh nó đã thất bại trong bước 23 ví dụ:
RUN mvn clean package -Pspark-1.6 -Phadoop-2.6 -DskipTests
Bây giờ khi tôi xây dựng lại nó bắt đầu xây dựng từ bước 23 như Docker đang sử dụng bộ nhớ cache.
Nhưng nếu tôi muốn xây dựng lại hình ảnh từ bước 21 ví dụ:
RUN git clone https://github.com/apache/incubator-zeppelin.git
Làm thế nào tôi có thể làm điều đó? Việc xóa hình ảnh đã lưu trong bộ nhớ cache có phải là tùy chọn duy nhất không? Có thông số bổ sung nào để thực hiện điều đó không?
Bạn có thể tạo một Dockerfile rằng chuyển sang bước 21, gắn thẻ hình ảnh này với tên như bước 21 và tạo một Dockerfile khác bắt đầu bằng 'FROM step21' – user2915097
cũng giống như https: // stackoverflow.com/questions/35134713/disable-cache-cho-specific-run-commands/35135412 # 35135412 – user2915097