Dockerfile 미 러 크기 줄 이 는 방법

2027 단어
며칠 동안 Dockerfile 을 기반 으로 응용 에 필요 한 특수 한 미 러 를 구축 합 니 다. 예 를 들 어 Nginx 는 add 가 많은 module 이 필요 할 경우 미 러 에서 컴 파일 하고 build 를 해 야 합 니 다.
Dockerfile 을 통 해 미 러 를 구축 할 때 미 러 를 크게 구축 하기 쉽다.
통속 적 으로 말하자면 한 번 의 RUN 이 새로운 층 을 형성 하고 같은 층 에서 삭제 되 지 않 으 면 파일 이 마지막 으로 삭제 되 든 안 되 든 다음 층 으로 가 져 간다.
그래서 다음 과 같이 제안 합 니 다.
  • 가능 한 한 같은 층 에서 더 많은 명령 을 실행 합 니 다. 예 를 들 어
  • RUN cp /usr/local/aa.tar.gz /opt
    RUN tar xvf /opt/aa.tar.gz
    RUN rm -rf /opt/aa.tar.gz

    이 가능 하 다, ~ 할 수 있다,...
    RUN cp /usr/local/aa.tar.gz /opt && \
           tar xvf /opt/aa.tar.gz && \
           rm -rf /opt/aa.tar.gz
  • 미 러 에 yum 을 통 해 패 키 지 를 설치 하면 한 줄 에 설치 하고 여러 줄 을 설치 하지 않 으 며 똑 같이 설치 한 후에 실행 하면 clean all 후 크기 에 큰 영향 을 미친다
  • yum clean all

    RUN yum -y —enablerepo=rpmforge-extras install php \
     php-pecl-xdebug \
     php-soap \
     php-mysql \
     php-gd \
     php-process \
     php-xml \
     php-mbstring \
     mysql-server \
     php-zendframework \
     htmlpurifier \
     jpgraph-tuleap \
     php-pear-Mail-mimeDecode \
     rcs \
     cvs \
     php-guzzle \
     php-password-compat \
     unzip \
     tar \
     subversion \
     bzip2 \
     php-pecl-xdebug \
     git \
     && yum clean all

     
    패 키 지 를 많이 설치 하면 수백 조 를 절약 할 수 있다.
     
    다음으로 전송:https://www.cnblogs.com/ericnie/p/7991218.html

    좋은 웹페이지 즐겨찾기