2019 Güncellemesi
Docker v18.06'dan başlayarak, Build Kit adlı yeni bir imaj oluşturucuyu kullanma seçeneği bulunmaktadır .
Docker ile önceden paketlenmiştir, hiçbir şey yüklemenize gerek yoktur. Dockerfile
Sözdizimi ile geriye dönük uyumludur Dockerfile
,.
Eski Docker Build ve Yeni Docker BuildKit Karşılaştırması
Yapı dizininde çok büyük kullanılmayan bir dosya içeren bir görüntü oluşturmanın bir örneği:
Eski Docker Yapısı:
$ time docker image build --no-cache .
Sending build context to Docker daemon 4.315GB
[...]
Successfully built c9ec5d33e12e
real 0m51.035s
user 0m7.189s
sys 0m10.712s
Yeni Docker BuildKit:
$ time DOCKER_BUILDKIT=1 docker image build --no-cache .
[+] Building 0.1s (5/5) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 37B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
[...]
=> => writing image sha256:ba5bca3a525ac97573b2e1d3cb936ad50cf8129eedfa9 0.0s
real 0m0.166s
user 0m0.034s
sys 0m0.026s
Tek değişiklik DOCKER_BUILDKIT=1
ortam değişkenidir, zamandaki fark çok büyüktür.
.dockerignore
Dosya
Lütfen .dockerignore
dosyanın hala geçerli ve kullanışlı olduğunu unutmayın . Dockerfile
Gibi bazı komutlar COPY . .
yine de .dockerignore
kuralları dikkate alacaktır . Ancak, yapı dizinindeki yan dosyalar (içinde başvurulmayan Dockerfile
) artık BuildKit tarafından bir "yapı bağlamı" olarak kopyalanmıyor.