मैंने नीचे दिए गए कमांड का उपयोग करके एक डॉकर फ़ाइल से एक डॉकर छवि बनाई है।
$ docker build -t u12_core -f u12_core .
जब मैं इसे उसी कमांड के साथ पुनर्निर्माण करने की कोशिश कर रहा हूं, तो यह बिल्ड कैश का उपयोग कर रहा है:
Step 1 : FROM ubuntu:12.04
---> eb965dfb09d2
Step 2 : MAINTAINER Pavan Gupta <pavan.gupta@gmail.com>
---> Using cache
---> 4354ccf9dcd8
Step 3 : RUN apt-get update
---> Using cache
---> bcbca2fcf204
Step 4 : RUN apt-get install -y openjdk-7-jdk
---> Using cache
---> 103f1a261d44
Step 5 : RUN apt-get install -y openssh-server
---> Using cache
---> dde41f8d0904
Step 6 : RUN apt-get install -y git-core
---> Using cache
---> 9be002f08b6a
Step 7 : RUN apt-get install -y build-essential
---> Using cache
---> a752fd73a698
Step 8 : RUN apt-get install -y logrotate
---> Using cache
---> 93bca09b509d
Step 9 : RUN apt-get install -y lsb-release
---> Using cache
---> fd4d10cf18bc
Step 10 : RUN mkdir /var/run/sshd
---> Using cache
---> 63b4ecc39ff0
Step 11 : RUN echo 'root:root' | chpasswd
---> Using cache
---> 9532e31518a6
Step 12 : RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config
---> Using cache
---> 47d1660bd544
Step 13 : RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
---> Using cache
---> d1f97f1c52f7
Step 14 : RUN wget -O aerospike.tgz 'http://aerospike.com/download/server/latest/artifact/ubuntu12'
---> Using cache
---> bd7dde7a98b9
Step 15 : RUN tar -xvf aerospike.tgz
---> Using cache
---> 54adaa09921f
Step 16 : RUN dpkg -i aerospike-server-community-*/*.deb
---> Using cache
---> 11aba013eea5
Step 17 : EXPOSE 22 3000 3001 3002 3003
---> Using cache
---> e33aaa78a931
Step 18 : CMD /usr/sbin/sshd -D
---> Using cache
---> 25f5fe70fa84
Successfully built 25f5fe70fa84
कैश दिखाता है कि एयरोस्पाइक स्थापित है। हालाँकि, मुझे यह इस छवि से जुड़े कंटेनरों के अंदर नहीं मिलता है, इसलिए मैं कैश का उपयोग किए बिना इस छवि को फिर से बनाना चाहता हूं। मैं कैश के बिना एक साफ छवि के पुनर्निर्माण के लिए डॉकर को कैसे मजबूर कर सकता हूं?
RUN
निर्देशन के लिए एक अलग परत बनाई थी , इसलिए Dockerfile
कई RUN
निर्देशों के साथ डिस्क स्थान की जिन्न मात्रा का उपभोग करेगा; लेकिन यह हाल के संस्करणों में कुछ हद तक सुधार हुआ है।
docker-compose up -d
, तो मैं कहां उपयोग कर सकता हूं --no-cache
?
docker-compose build --no-cache
और फिरdocker-compose up -d
RUN
निर्देशों की संख्या को कम करने की कोशिश करनी चाहिए ।