yapıyorum Docker ile deneme yapıyorum. Kolay bakım ve genişletilebilirlik için buna benzeyen bir görüntü mimarisi oluşturmaya çalışıyorum. Devralınan Docker görüntüleri neden farklı boyutlarda
aşağıdaki Dockerfiles ile görüntüleri inşa ve farklı konteyner boyutları hakkında merak ediyorum. Neden bu kadar farklılar? Bir 210.9 MB görüntüdeardından baz/Dockerfile sonuçları (ubuntu: yani sorun yok güvenilir 188 MB sahip).
FROM ubuntu:trusty
RUN apt-get -qq update && \
DEBIAN_FRONTEND=noninteractive apt-get -qq install \
nano
ENV TERM xterm
RUN apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
apache/Dockerfile 224,4 MB içinde sonuçlanır.
FROM ubuntu:trusty
RUN apt-get -qq update && \
DEBIAN_FRONTEND=noninteractive apt-get -qq install \
nano \
apache2
ENV TERM xterm
RUN apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY apache2-foreground /usr/local/bin/
RUN chmod a+x /usr/local/bin/apache2-foreground
EXPOSE 80
WORKDIR /var/www/html
CMD ["apache2-foreground"]
apache-php/Dockerfile 266.7 MB içinde sonuçlanır.
FROM ubuntu:trusty
RUN apt-get -qq update && \
DEBIAN_FRONTEND=noninteractive apt-get -qq install \
nano curl \
apache2 \
libapache2-mod-php5 php5-mysql php5-mcrypt php5-gd php5-curl php-pear php-apc && \
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN /usr/sbin/php5enmod mcrypt
# + last 7 lines from apache/Dockerfile
Şimdiye kadar sorun yok ama şu ana kadar miras kullanmadık. Bir göz atalım:
Neden 289,4 MB içinde apache-php-on-baz/Dockerfile sonuç nedir? Temelde aynı adımlar ancak iki görüntüde bölünmüş. Biraz fazla havaya uçurmayı beklerdim ama yaklaşık% 10 değil.
FROM base
# + apache-php/Dockerfile without "install nano"
Birden devralma kullanarak daha da büyük açıklanmıştır: 314.9 MB içinde apache-php-on-apache-on-baz/Dockerfile sonuçlanır. apache-on-baz/Dockerfile elbette
FROM apache-on-base
# + apache-php/Dockerfile without "install nano apache2"
(247 MB ile sonuçlanan):
FROM base
# + apache/Dockerfile without "install nano"
Soru: bu büyük büyüyen görüntüleri engelleyen bir yolu var mı sürdürülebilirliği korurken?
Güncelleme: thaJeztah'ın önerilerini uygulamak Takip ettik :) Tekrar teşekkürler! derinlemesine tüm farklılıklara geçmekte olmadan
REPOSITORY TAG IMAGE ID CREATED SIZE
apache-php-on-aob latest 2cf12a3b5872 2 minutes ago 249.9 MB
apache-on-base latest 121c8a098ff5 3 minutes ago 203.7 MB
base latest ee95e4f8aaee 3 minutes ago 189.3 MB
apache-php-on-aob v1 e43df5e61aed 3 days ago 314.9 MB
apache-on-base v1 c291f91f1a10 3 days ago 247 MB
base v1 b181fc6f181d 3 days ago 210.9 MB
ubuntu trusty 97434d46f197 10 days ago 188 MB
Resimlerinize 'docker geçmişi' sürümünü çalıştırmayı deneyin ve ekstra katmanın nereden geldiğini belirlemek için resimler arasında hangi katmanların daha büyük/küçük olduğunu görebilirsiniz. –
tpbowden