Neler yeni

Yazılım Forum

Tüm özelliklerimize erişmek için şimdi bize katılın. Kayıt olduktan ve giriş yaptıktan sonra konu oluşturabilecek, mevcut konulara yanıt gönderebilecek, itibar kazanabilecek, özel mesajlaşmaya erişebilecek ve çok daha fazlasını yapabileceksiniz! Bu hizmetlerimiz ise tamamen ücretsiz ve kurallara uyulduğu sürece sınırsızdır, o zaman ne bekliyorsunuz? Hadi, sizde aramıza katılın!

Docker ile Uygulama Konteynerleştirme: Kapsamlı Bir Rehber

Docker ile Uygulama Konteynerleştirme: Giriş

Günümüz yazılım geliştirme dünyasında, uygulamaların farklı ortamlar arasında tutarlı bir şekilde çalışmasını sağlamak büyük bir zorluktur. İşte tam da bu noktada Docker devreye girer. Docker, uygulamalarınızı bağımlılıklarıyla birlikte "konteyner" adı verilen izole edilmiş birimler halinde paketlemenizi sağlayan açık kaynaklı bir platformdur. Bu rehberde, Docker'ın temellerini ve uygulamalarınızı nasıl konteynerleştirebileceğinizi adım adım öğreneceksiniz.

Neden Docker Kullanmalıyız?

* Tutarlılık: "Benim makinemde çalışıyor" sorununa son verir. Uygulama, Docker konteynerinde her yerde aynı şekilde çalışır.
* İzolasyon: Her konteyner kendi bağımlılıklarına sahiptir ve diğer konteynerlerden veya ana sistemden izole edilmiştir.
* Taşınabilirlik: Konteynerler, farklı işletim sistemlerinde ve bulut ortamlarında kolayca taşınabilir.
* Verimlilik: Sanal makinelere kıyasla daha hafiftir ve daha hızlı başlar.

Temel Docker Kavramları

  • Docker İmajı: Bir uygulamanın çalışması için gerekli tüm kod, bağımlılık, sistem aracı ve kütüphaneleri içeren, yürütülebilir, bağımsız bir pakettir. İmajlar değişmezdir ve konteynerlerin temelini oluşturur.
  • Docker Konteyneri: Bir Docker imajının çalıştırılabilir bir örneğidir. İmaj okuma-yazma katmanıyla birleştirilerek çalışan bir süreç haline gelir. Konteynerler izole edilmiş ortamlardır.
  • Dockerfile: Docker imajlarını oluşturmak için kullanılan talimatları içeren metin dosyasıdır. Bu dosya, uygulamanızın nasıl oluşturulacağını ve hangi ortamda çalışacağını tanımlar.

Basit Bir Uygulamayı Konteynerleştirme Adımları

Bir Node.js uygulamasını örnek alalım.

1. Uygulama ve Bağımlılıkları Oluşturma:
Örnek bir app.js dosyası:
Kod:
const http = require('http');

const hostname = '0.0.0.0';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Merhaba Docker Dünyası!\n');
});

server.listen(port, hostname, () => {
  console.log(`Sunucu http://${hostname}:${port}/ adresinde çalışıyor`);
});
Ve package.json (bağımlılık yok, ama örnek için):
Kod:
{
  "name": "docker-node-app",
  "version": "1.0.0",
  "description": "A simple Node.js Docker app",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "author": "",
  "license": "ISC"
}

2. Dockerfile Oluşturma:
Uygulamanızın kök dizininde Dockerfile adında bir dosya oluşturun:
Kod:
# Node.js 16 base imajını kullan
FROM node:16-alpine

# Çalışma dizinini ayarla
WORKDIR /app

# package.json ve package-lock.json'ı kopyala
COPY package*.json ./

# Bağımlılıkları yükle (bu örnekte yok ama standarttır)
RUN npm install

# Uygulama kaynak kodunu kopyala
COPY . .

# Uygulamanın çalışacağı portu belirt
EXPOSE 3000

# Uygulamayı başlat
CMD ["npm", "start"]

3. Docker İmajını Oluşturma:
Terminalde, Dockerfile dosyasının bulunduğu dizinde aşağıdaki komutu çalıştırın:
Kod:
docker build -t benim-node-app .
Burada -t imaja bir etiket (isim) verirken, . Dockerfile'ın mevcut dizinde olduğunu belirtir.

4. Docker Konteynerini Çalıştırma:
İmajı oluşturduktan sonra, onu bir konteyner olarak çalıştırabilirsiniz:
Kod:
docker run -p 80:3000 benim-node-app
-p 80:3000 komutu, host makinenin 80. portunu konteynerin 3000. portuna bağlar. Artık tarayıcınızdan http://localhost/ adresine giderek uygulamanıza erişebilirsiniz.

Sonuç

Docker, uygulama dağıtımını ve yönetimini kökten değiştiren güçlü bir araçtır. Uygulamalarınızı konteynerleştirerek, geliştirme, test ve üretim ortamlarınız arasında tutarlılık sağlayabilir, bağımlılık sorunlarını ortadan kaldırabilir ve dağıtım süreçlerinizi hızlandırabilirsiniz. Bu temel adımlarla kendi uygulamalarınızı Docker ile konteynerleştirmeye başlayabilirsiniz.

Daha fazla bilgi için resmi Docker belgelerini ziyaret edebilirsiniz:
https://docs.docker.com/
 
shape1
shape2
shape3
shape4
shape5
shape6
Üst

Bu web sitenin performansı Hazal Host tarafından sağlanmaktadır.

YazilimForum.com.tr internet sitesi, 5651 sayılı Kanun’un 2. maddesinin 1. fıkrasının (m) bendi ve aynı Kanun’un 5. maddesi kapsamında Yer Sağlayıcı konumundadır. Sitede yer alan içerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır.

YazilimForum.com.tr, kullanıcılar tarafından paylaşılan içeriklerin doğruluğunu, güncelliğini veya hukuka uygunluğunu garanti etmez ve içeriklerin kontrolü veya araştırılması ile yükümlü değildir. Kullanıcılar, paylaştıkları içeriklerden tamamen kendileri sorumludur.

Hukuka aykırı içerikleri fark ettiğinizde lütfen bize bildirin: lydexcoding@gmail.com

Sitemiz, kullanıcıların paylaştığı içerik ve bilgileri 6698 sayılı KVKK kapsamında işlemektedir. Kullanıcılar, kişisel verileriyle ilgili haklarını KVKK Politikası sayfasından inceleyebilir.

Sitede yer alan reklamlar veya üçüncü taraf bağlantılar için YazilimForum.com.tr herhangi bir sorumluluk kabul etmez.

Sitemizi kullanarak Forum Kuralları’nı kabul etmiş sayılırsınız.

DMCA.com Protection Status Copyrighted.com Registered & Protected