Actions ile Docker Görüntüleri Oluşturma
Uygulamalarınız için Docker görüntüleri oluşturma sürecini doğrudan GitHub Actions iş akışlarınız içinde otomatikleştirin.
Actions ile Docker Görüntüleri Oluşturma, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Docker Görüntüleri Nedir?
Hoş geldiniz! Bu derste GitHub Actions kullanarak Docker görüntüleri oluşturmayı öğreneceksiniz.
Öncelikle, Docker görüntüsü nedir? Bunu, bir yazılım parçasını çalıştırmak için gereken her şeyi içeren hafif, bağımsız ve çalıştırılabilir bir paket olarak düşünebilirsiniz:
- Kodunuz
- Çalışma zamanı (ör. Java, Python)
- Sistem araçları ve kitaplıkları
- Yapılandırma dosyaları
Bu, Docker konteynerleri oluşturmak için kullanılan bir taslak gibidir ve uygulamanızın farklı ortamlarda tutarlı biçimde çalışmasını sağlar.
Docker Derlemeleri Neden Otomatikleştirilmeli?
Docker görüntülerini elle oluşturmak tekrarlayıcı ve hataya açık olabilir. İşte otomasyonun yararlı olduğu nokta burasıdır!
Docker görüntüsü derlemelerini GitHub Actions ile CI/CD işlem hattınıza bütünleştirerek şu avantajları elde edersiniz:
- Tutarlılık: Her derleme aynı adımları izler.
- Hız: Otomatik derlemeler el ile yapılanlardan daha hızlıdır.
- Güvenilirlik: İnsan hatalarını azaltır.
- Bütünleşme: Kod değişiklikleriyle derlemeler otomatik olarak başlatılır.
Bu, modern DevOps'un temel uygulamalarından biridir!
Dockerfile Taslağı
Dockerfile, bir Docker görüntüsünü oluşturmak için gereken tüm komutları içeren bir metin dosyasıdır. Bir tarif gibidir.
İşte çok basit bir Dockerfile örneği:
FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello from Docker!"]Dockerfile'ı Anlamak
Bu basit Dockerfile dosyasını ayrıntılı olarak inceleyelim:
FROM alpine:latest: Temel görüntüyü belirtir. Alpine adlı küçük bir Linux dağıtımıyla başlıyoruz.WORKDIR /app: Görüntü içindeki çalışma dizinini ayarlar.COPY . .: Proje dizininizdeki tüm dosyaları görüntü içindeki/appdizinine kopyalar.CMD ["echo", "Hello from Docker!"]: Bir konteyner bu görüntüden başlatıldığında çalıştırılacak komuttur.
Bu dosya projenizin kök dizininde bulunur.
İş Akışınızı Ayarlama
GitHub Actions ile Docker görüntüleri oluşturmak için deponuzda bir YAML dosyası (ör. .github/workflows/docker-build.yml) oluşturacaksınız.
Bu dosya, bir dizi otomatik adımdan oluşan iş akışınızı tanımlar.
Bir görüntü oluşturmak için temel bir iş akışında genellikle şu adımlar bulunur:
- Kodunuzu teslim almak.
- Docker derleme ortamını ayarlamak.
- Docker görüntüsünü oluşturmak.
1. Adım: Kodunuzu Alma
Neredeyse tüm GitHub Actions iş akışlarında ilk adım, deponuzun kodunu almaktır. Bu işlem actions/checkout eylemi kullanılarak gerçekleştirilir.
Deponuzu çalıştırıcıya kopyalayarak Dockerfile dosyanızı ve uygulama kodunuzu derleme sürecinde kullanılabilir hâle getirir.
İş akışı dosyanızda şu şekilde görünür:
- name: Checkout repository code
uses: actions/checkout@v42. Adım: Docker Buildx'i Ayarlama
Sonraki adımda Docker derleme ortamını ayarlamamız gerekir. docker/setup-buildx-action eylemi önemle önerilir.
Buildx, Docker'ın derleme yeteneklerini genişleten ve çok platformlu derlemeler gibi gelişmiş özellikleri destekleyen bir Docker bileşenidir.
Bu adımı iş akışınıza ekleyin:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v33. Adım: Docker Görüntüsünü Derleme
Şimdi asıl konuya, görüntüyü oluşturmaya geçelim! Bunun için docker/build-push-action eylemini kullanıyoruz.
Temel seçenekler:
context: .: Derleme bağlamını (genellikle deponuzun kök dizinini) belirtir.push: false: Şimdilik yalnızca derleme yapacağız ve bir kayıt defterine gönderme işlemi gerçekleştirmeyeceğiz. Gönderme işlemini daha sonraki bir derste ele alacağız.tags: my-app:latest: Görüntünüze bir ad ve etiket atar.
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestTam Derleme İş Akışı Örneği
İşte Docker görüntüsü oluşturan eksiksiz GitHub Actions iş akışı. Bu YAML dosyasının .github/workflows/docker-build.yml konumuna eklenmesi gerektiğini unutmayın.
Bu iş akışı, deponuza yapılan her push işleminde tetiklenir.
name: Build Simple Docker Image
on: [push]
jobs:
build-image:
runs-on: ubuntu-latest
steps:
- name: Checkout repository code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestHızlı Kontrol
GitHub Actions ile Docker görüntüleri oluşturma konusundaki anlayışınızı sınayalım.
Özet: Docker Görüntülerini Derleme
Harika iş çıkardınız! GitHub Actions ile Docker görüntüsü derlemelerini otomatikleştirmenin temellerini öğrendiniz.
Ele aldığımız konular:
- Docker görüntülerinin ne olduğu ve neden önemli oldukları.
- Görüntü taslağı olarak
Dockerfiledosyasının rolü. - Temel bir GitHub Actions iş akışının ayarlanması.
actions/checkout,docker/setup-buildx-actionvedocker/build-push-actiongibi temel eylemlerin kullanılması.
Bir sonraki derste, oluşturduğunuz bu görüntüleri bir konteyner kayıt defterine nasıl göndereceğinizi inceleyeceğiz!
Sıkça Sorulan Sorular
“Actions ile Docker Görüntüleri Oluşturma” dersi ücretsiz mi?
Evet — “Actions ile Docker Görüntüleri Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Actions ile Docker Görüntüleri Oluşturma” dersinde ne öğreneceğim?
Uygulamalarınız için Docker görüntüleri oluşturma sürecini doğrudan GitHub Actions iş akışlarınız içinde otomatikleştirin. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Actions ile Docker Görüntüleri Oluşturma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Actions ile Docker Görüntüleri Oluşturma
- Görüntüleri Kayıt Depolarına Gönderme
- Actions ile Kubernetes'e Dağıtım
- CI/CD'de Helm Grafikleri ve Kubernetes Manifestoları