Dockerfile Detayları ve Performans Artırma

Codecode123
2 min readAug 16, 2020

Merhaba, bu makalemde sizlere dockefile içeriği hakkında biraz daha detaylı bilgiler vermeye çalışacağım

Dockerfile Detayları

Dockerfile özünde bir .txt metin dosyasıdır. Ancak, normal .txt dosyalarının aksine, dosya uzantısı olmadan Dockerfile olarak kaydedilir.

Bir docker image oluşturmak için içerisine bir takım komutlar yazarız. Dockerfile bir docker image oluşturmak için çok önemli olduğu kadar aslında işleri oldukça pratikleştiren bir dosyadır.

Workflowda görüldüğü gibi akışın başında olan bir argümandır bu yüzden iyi planlanmalıdır.

Docker, Dockerfile dosyasını yukarıdan aşağı doğru okur bu nedenle komut satırları önemlidir.Büyük küçük harf duyarlılığı yoktur.

# işareti kullanılarak yorum satırı yazılabilir.

Örnek .NET Core Dockerfile dosyası

Dockerfile Komutları

  • FROM
  • ENV
  • EXPOSE
  • RUN
  • COPY
  • ENTRYPOINT
  • WORKDIR
  • CMD

FROM

FROM komutu, temel image olarak kullanmak istediğiniz işletim sistemini belirtmek için kullanılır. Temel bir image üzerinde derleme yapmayı düşünüyorsanız, FROM komutu Dockerfile’daki ilk komut olmalıdır .

ENV

ENV komutu, Docker image oluştururken ortam değişkenlerini ayarlamak için kullanılır. Ayrıca, bu ayarlanan ortam değişkenlerinin de container başlatıldıktan sonra erişilebilir olduğunu göreceksiniz.

EXPOSE

Expose komutu ,bağlı container için bir bağlantı noktası açar. Docker Container üzerindeki hangi bağlantı noktasının işletim sistemine bakacağını belirtir.

RUN

Run komutu, uygulamamızı yapılandırmaktadır.

COPY

Copy komutu, Docker istemcinizin geçerli dizininden dosyaları kopyalamaktadır.

ENTRYPOINT

Entrypoint komutu, container ayağa kalktığı anda ilk önce çalıştırılacak komutları ve parametreleri belirler.

WORKDIR

Workdir komutu, Docker image oluştururken mevcut dizini değiştirmenize olanak tanır.

CMD

CMD komutu, container ayağa kalktığı anda çalıştırılacak komutlardır. Docker yalnızca bir CMD komutu çalıştırabilir. Bu nedenle, iki veya daha fazla CMD talimatı eklerseniz, Docker yalnızca sonuncuyu, yani en güncel olanı çalıştırır.

Daha hızlı container oluşturmak için öneriler

  • Docker image’ları oluştururken gereksiz komutlardan kaçının.
  • Minimalist bir işletim sistemi kullanmaya çalışın.
    Daha fazla özellikli bir işletim sistemi yerine size yetecek kadar basit bir (Alpine Linux ,RancherOS) işletim sistemi kullanmak daha çok performans sağlayacaktır.
  • Dockerfile Cache sistemi kullanmak size hız kazandıran diğer unsurlardandır.
  • Tekbir monolitik yapı yerine, microservice mimarisi ile çalışmak containerları parça parça oluşturmak size hız kazandıracaktır.

Umarım faydalı olur şimdilik hoşça kalın…

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Codecode123
Codecode123

Written by Codecode123

Kubernetes,Rancher,Docker,Azure DevOps,Jenkins,Bamboo,Bitbucket, Git,SonarQube,JFrog,Powershell, .Net, JIRA-Confluence Administrator ,New Relic,Grafana

No responses yet

Write a response