29 Temmuz 2016 Cuma

Dockerfile ile ilgili 2 Bilgi

ADD vs COPY

Dockerfile dosyalarının komutları olan ADD ve COPY birbirlerine çok benzerdir.

Farkları nelerdir?
COPY yerelimizdeki dosyaları kopyalar.
ADD yereldeki dosyaları, uzaktaki URL leri ve tar dosyalarını kopyalar.

COPY nin daha transparan bir yapısı olduğu için yani basit bir kopyalama işlemi yaptığı için COPY tercih ediliyor genelde.

Örnek:
COPY requirements.txt /tmp/
RUN pip install --requirement /tmp/requirements.txt
COPY . /tmp/

ADD http://example.com/big.tar.xz /usr/src/things/
RUN tar -xJf /usr/src/things/big.tar.xz -C /usr/src/things
RUN make -C /usr/src/things all

Eğer URL kopyalamayı COPY ile yaparsak böyle bir hata alırız:
Source can't be a URL for COPY
 

Neden paket listeleri kurulu olarak gelmiyor?

Paketler önbellekte bulunmaz ama gerekirse indirilir. Böylelikle imagelerin büyümesi engellenir ve kazanç sağlanır.

Güncellemeye ve indirmeye örnek:
RUN apt-get update && apt-get install -y \
                 apache2

Hiç yorum yok:

Yorum Gönder