Yeni başlayanlar için Docker: Bilmeniz gereken her şey

Jun 15, 2025
, Linux

Liman işçisi Paketlenmiş uygulamaları oluşturur Konteynerler denir. Her konteyner, benzer bir ortam sağlar. sanal makine (Vm). VMS, Docker Konteynerlerinin aksine Tam bir işletim sistemi çalıştırmayın . Host'unuzu çekirdeğinizi paylaşırlar ve bir yazılım düzeyinde sanallaştırırlar.

Docker Temelleri

Docker, yazılım geliştiricileri ve sistem yöneticileri için standart bir araç haline gelmiştir. Sisteminizin geri kalanını etkilemeden başvuruları hızlı bir şekilde başlatmanın temiz bir yoludur. Tek ile yeni bir hizmet döndürebilirsiniz Docker koşusu emretmek.

Konteynerler, işletim sistemi paketi bağımlılıklarından kendi kaynak kodunuza kadar bir uygulamayı çalıştırmak için gereken her şeyi enksüle eder. Bir konteynerin oluşturma adımlarını bir talimat olarak tanımlarsınız. Dockerfile . Docker, inşa etmek için DockerFile'u kullanır. görüntü .

Görüntüler, kaplarda bulunan yazılımı tanımlar. Bu, bir işletim sistemi ISO ile bir VM başlatmak için gevşek bir şekilde eşdeğerdir. Bir resim oluşturursanız, herhangi bir Docker kullanıcısı uygulamanızı başlatabilecektir. Docker koşusu .

Docker nasıl çalışıyor?

Kaplar, kısmen sanallaştırılmış ortamlar sağlamak için işletim sistemi çekirdeği özelliklerini kullanır. Gibi komutlarla sıfırdan kaplar oluşturmak mümkündür kroot . Bu, sistem kökü yerine belirli bir kök diziniyle bir işlem başlatır. Ancak çekirdek özelliklerini doğrudan kullanmak, asfalt, güvensiz ve hata eğilimidir.

Docker, konteynerlerin üretimi, dağıtımı ve kullanımı için eksiksiz bir çözümdür. Modern Docker Bültenleri oluşur. Birkaç bağımsız bileşen . İlk önce, docker var Cli , terminalinizde etkileşim kurdunuz. CLI, komutları bir gönderir. Docker Daemon . Bu yerel olarak çalışabilir veya uzak bir ev sahibi . Daemon, kapları ve oluşturulan görüntüleri yönetmekten sorumludur.

Son bileşen denir Konteyner Çalışma Zamanı . Çalışma zamanı, kapları aslında başlatmak için çekirdek özelliklerini çağırır. Docker, yapışan çalışma süreleri ile uyumludur. OCI özellikleri. Bu açık standart, farklı konteynerizasyon araçları arasında birlikte çalışabilirliğe izin verir.

İlk başlarken, Docker'ın iç işleri hakkında çok fazla endişelenmenize gerek yok. Yükleme liman işçisi Sisteminizde, konteynerleri oluşturmak ve çalıştırmak için ihtiyacınız olan her şeyi size verecektir.

Neden bu kadar çok insan Docker kullanıyor?

Konteynerler çok popüler hale geldi, çünkü yazılım geliştirmede birçok ortak zorlukları çözüyorlar. Bir kez konteyner hale getirme ve her yerde koşma yeteneği arasındaki boşluğu azaltır Geliştirme ortamınız ve üretim sunucularınız.

Kapları kullanmak, her ortamın aynı olduğuna güven verir. Yeni bir takım üyeniz varsa, sadece ihtiyaçları var. Docker koşusu kendi geliştirme örneğini ayarlamak için. Servisinizi başlattığınızda, imalatın dağıtılması için Docker resminizi kullanabilirsiniz. NS canlı çevre Yerel örneğinize tam olarak eşleşecek, "Makinemde çalışıyor" senaryolarından kaçınacak.

Docker, tam şişmiş bir sanal makineden daha uygundur. VMS, olası her iş yükünü desteklemek için tasarlanmış genel amaçlı araçlardır. Buna karşılık, konteynerler hafif, kendi kendine yeterince ve atılan kullanım durumlarına daha uygundur. Docker'ın ana bilgisayarın çekirdeğini paylaştığı için, konteynerler sistem performansı üzerinde ihmal edilebilir bir etkiye sahiptir. Konteyner lansmanı süresi neredeyse anında, sadece bir işletim sistemi değil, yalnızca başlangıç ​​işlemleri yaptığınız gibi.

Başlarken

Docker, tüm popüler Linux dağıtımlarında mevcuttur. Ayrıca Windows ve MacOS'ta çalışıyor. Takip et Platformunuz için Docker Kurulum Talimatları almak ve koşmak için.

Basit bir konteyner başlatarak kurulumunuzun çalıştığını kontrol edebilirsiniz:

 Docker Hello-World Run 

Bu, temel ile yeni bir konteyner başlatacak Selam Dünya görüntü. Görüntü, Docker'ın nasıl kullanılacağını açıklayan bazı çıktı yayar. Konteyner sonra çıkar, sizi terminalinize geri çeker.

Görüntüler oluşturma

Bir kez koştuğun Selam Dünya , Kendi Docker görüntülerinizi oluşturmaya hazırsınız. Bir DockerFile, hizmetinizi nasıl çalıştıracağınızı açıklar. Gerekli yazılımı takma ve dosyalarda kopyalama. İşte Apache Web sunucusunu kullanarak basit bir örnek:

 httpd'den: en son
Echo "LoadModule Headers_Module modüllerini / mod_headers.so" & gt; & gt; /usr/local/apache2/conf/httpd.conf
Kopyala .htaccess /var/www/html/.htaccess
Kopyalama index.html /var/www/html/index.html
CSS / / VAR / WWW / HTML / CSS kopyasını 

NS İTİBAREN Çizgi temel görüntüyü tanımlar. Bu durumda, resmi Apache görüntüsünden başlıyoruz. Docker, DockerFile'inizdeki kalan talimatları, taban görüntüsünün üstüne uygular.

NS ÇALIŞTIRMAK Sahne, konteyner içindeki bir komutu çalıştırır. Bu, kabın ortamında mevcut herhangi bir komut olabilir. Biz etkinleştiriyoruz başlıklar Tarafından kullanılabilecek Apache modülü .htaccess Yönlendirme kuralları kurmak için dosya.

Son çizgiler, çalışma dizininizdeki HTML ve CSS dosyalarını konteyner görüntüsüne kopyalayın. Resminiz şimdi web sitenizi çalıştırmak için ihtiyacınız olan her şeyi içerir.

Şimdi, resmi oluşturabilirsiniz:

 Docker, web sitesi: V1. 

Docker, imajı oluşturmak için DockerFile'ınızı kullanır. Terminalinizdeki çıktıyı, Docker'ın talimatlarınızın her birini çalıştırdığı için göreceksiniz.

NS -T komutta Resminizi Etiketler belirli bir isimle ( Benim web sitesi: v1 ). Bu, gelecekte başvurmayı kolaylaştırır. Etiketler, bir kolonla ayrılmış iki bileşene sahiptir. İlk parça görüntü adını ayarlarken, ikincisi genellikle versiyonunu belirtir. Eğer kolonu atlarsan, Docker varsayılan olacak kullanmak En son Etiket versiyonu olarak.

NS . Komutun sonunda, yerel çalışma dizininizde DockerFile'i kullanmasını söyler. Bu aynı zamanda Yapı bağlamını ayarlar , çalışma dizininizde dosya ve klasörleri kullanmanıza izin vermek Kopya DockerFile'inizdeki talimatlar.

Resminizi oluşturduktan sonra, kullanarak bir konteyner başlatabilirsiniz. Docker koşusu :

 Docker Run -D -P 8080: 80 My-Web Sitesi: V1 

Birkaç ilave bayrak kullanıyoruz Docker koşusu Burada. NS -NS Bayrak, Docker CLI'yu kaptan çıkarır ve arka planda çalışmasına izin verir. Bir bağlantı noktası eşleme ile tanımlanır -P , böylece ana bilgisayar haritalarınızda konteynerde 80 numaralı bağlantı noktasına 8080. Ziyaret ederseniz web sayfanızı görmelisiniz Localhost: 8080 Tarayıcınızda.

Docker görüntüleri katmanlardan oluşur. DockerFile'inizdeki her komut yeni bir katman oluşturur. Gelişmiş yapı özelliklerini kullanabilirsiniz. Referans Çoklu Baz Görüntüleri , daha önceki görüntülerden aracı katmanları atma.

Resim Kayıtları

Bir görüntünüz olduğunda, bir kayıt defterine itebilirsiniz. Kayıtlar merkezi depolama sağlamak Böylece kapları başkalarıyla paylaşabilirsiniz. Varsayılan kayıt defteri Docker Hub .

Bir resme atanır bir komut çalıştırdığınızda, Docker ilk önce yerel olarak mevcut olup olmadığını kontrol eder. Değilse, Docker Hub'tan çekmeye çalışacaktır. Görüntüleri ile manuel olarak çekebilirsiniz. Docker çekin emretmek:

 Docker Çekin Httpd: Son 

Bir resim yayınlamak istiyorsanız, bir Docker Hub hesap. Çalıştırmak Docker girişi Ve kullanıcı adınızı ve şifrenizi girin.

Sonra, imajınızı Docker Hub kullanıcı adınızı kullanarak etiketleyin:

 Docker Tag my-Image: Son Docker-Hub-Kullanıcı Adı / My-Image: En son 

Şimdi, resminizi zorlayabilirsiniz:

 Docker Push Docker-Hub-username / image: en son 

Diğer kullanıcılar görüntünüzü çekip kapsayıcıları başlatabilecektir.

Yapabilirsiniz Kendi kayıt defterini yönet Özel görüntü depolamaya ihtiyacınız varsa. Birkaç üçüncü taraf hizmetleri de Docker kayıtları teklif et Docker Hub'a alternatif olarak.

Konteynırlarınızı Yönetme

Docker CLI, koşu kaplarınızı yönetmenize izin vermek için çeşitli komutları vardır. İşte bildiği en faydalı olanlardan bazıları:

Konteynerleri listeleme

Docker PS Tüm çalışan konteynırlarınızı size gösterir. Eklemek -a Bayrak da durdurulmuş kapları gösterecektir.

Kapları durdurmak ve başlatmak

Bir kabı durdurmak için koşun Docker'u durdur . Yer değiştirmek benim konteyner kabın adı veya kimliği ile. Bu bilgiyi ps emretmek. Durdurulmuş bir konteyner yeniden başlatıldı Docker BAŞLADI .

Konteynerler genellikle ana işlemlerinin canlı kaldıkları sürece çalışır. Politikaları yeniden başlat Bir konteyner durduğunda veya ana bilgisayarınızın yeniden başlatıldığında ne olacağını kontrol edin. Geçmek - her zaman ile Docker koşusu Bir konteyner durdurduktan hemen sonra yeniden başlatılması.

Kabuk almak

Yapabilirsiniz bir komuta çalıştırmak kullanarak bir kap Docker Exect My-Container My-Commandy . Bu, konteynerin ana işlemine ayıran bir çalıştırılabilir olanı manuel olarak çağırmak istediğinizde kullanışlıdır.

Ekle -o Etkileşimli erişime ihtiyacınız varsa bayrak. Bu, koşarak bir kabuğa düşmenizi sağlar Docker Exec-BY konteyner sh .

İzleme Günlükleri

Docker, bir konteynerin standart girişine ve çıkış akışlarına yayılan çıktıyı otomatik olarak toplar. NS Docker konteynerime günlükler Komut, terminalinizin içindeki bir konteynerin günlüklerini gösterecektir. NS --takip et Bayrak sürekli bir akış oluşturur, böylece günlükleri gerçek zamanlı olarak görüntüleyebilirsiniz.

Temizlik kaynakları

Eski kaplar ve görüntüler sisteminize hızlı bir şekilde yığılabilir. Kullanmak Docker RM My-Container Bir konteyneri kimliği veya adı ile silmek için.

Görüntüler için komut Docker rmi my-image: en son . Görüntünün kimliğini veya tam etiket adını geçirin. Bir etiket belirlerseniz, görüntü atanan daha fazla etiket yok olana kadar silme olmaz. Aksi takdirde, verilen etiket kaldırılacak ancak görüntünün diğer etiketleri kullanılabilir kalacaktır.

Toplu temizleme, kullanılması mümkündür Docker prune emretmek . Bu, tüm durdurulan konteynırları ve yedek görüntüleri kaldırmanın kolay bir yolu verir.

Grafik Yönetimi

Terminal sizin işiniz değilse, üçüncü taraf araçlarını kullanabilirsiniz. Docker için grafiksel bir arayüz oluşturun . Web Dashboards, kurulumunuzu hızlı bir şekilde izlemenizi ve yönetmenizi sağlar. Ayrıca kaplarınızın uzaktan kumandasını almanıza yardımcı olurlar.

Kalıcı veri depolama

Docker kapları varsayılan olarak efemeraldir. Konteynerin dosya sisteminde yapılan değişiklikler, konteyner durduktan sonra devam etmeyecektir. Güvenli değil Herhangi bir dosya depolama sistemi formunu çalıştırın Bir kapta temel ile başladı Docker koşusu emretmek.

Birkaç farklı yaklaşım var Kalıcı verileri yönetmek . En yaygın olanı, bir docker hacmi kullanmaktır. Hacimler depolama birimleridir Bu konteyner dosya sistemlerine monte edilmiştir. Birimdeki herhangi bir veri, bağlantılı konteyner durdurulduktan sonra gelecekte başka bir konteyner bağlamanıza izin verir.

Güvenlik Bakımı

Dockerize edilmiş iş yükleri, Docker, işletim sistemi ile hizmetleriniz arasında biraz ayrılma sağlarken, çıplak metal meslektaşlarından daha güvenli olabilir. Bununla birlikte, Docker potansiyel bir güvenlik sorunudur, çünkü normalde çalışır kök ve kötü amaçlı yazılımları çalıştırmak için sömürülebilirdi.

Yalnızca Docker'ı geliştirme aracı olarak kullanıyorsanız, varsayılan kurulum genellikle kullanmak için güvenlidir. Üretim sunucuları ve şebeke maruz kalmış bir Daemon soketine sahip makineler, yaşamadan önce sertleştirilmelidir.

Docker kurulumunuzu denetleyin Potansiyel güvenlik sorunlarını tanımlamak için. Var Otomatik araçlar mevcut Bu, zayıflıkları bulmanıza ve kararları önermenize yardımcı olabilir. Ayrıca Bireysel konteyner görüntülerini tarayın İçinden sömürülebilen sorunlar için.

Birden fazla kap ile çalışma

NS liman işçisi Komut yalnızca bir seferde bir kap ile çalışır. Sık sık toplamda kapları kullanmak istiyorsunuz. Docker oluşturma Konteynırlarınızı bir YAML dosyasında bildirmenize izin veren bir araçtır. Bunları tek bir komutla başlayabilirsiniz.

Bu, projeniz, bir veritabanı sunucusuna dayanan bir Web arka uçu gibi diğer hizmetlere bağlı olduğunda yardımcı olur. Her iki konteyneri de tanımlayabilirsiniz. Docker-Compose.yml ve aerodinamik yönetimden yararlanmak Otomatik ağ .

İşte basit bir Docker-Compose.yml dosya:

 Sürüm: "3"
Hizmetler:
  uygulama:
    Image: App-Server: en son
    Limanlar:
      - 8000: 80
  veri tabanı:
    Image: Veritabanı-sunucu: en son
    birimler:
        - Veritabanı-Veri: / Veri
birimler:
    Veritabanı-Veri: 

Bu iki konteyneri tanımlar ( uygulama ve veri tabanı ). Veritabanı için bir hacim oluşturulur. Bu monte edilir /veri kabın içinde. Uygulama sunucusunun 80 numaralı bağlantı noktası ana bilgisayarda 8000 olarak maruz kalır. Çalıştırmak Docker-BOBOSE UP -D Ağ ve hacim de dahil olmak üzere her iki hizmeti de döndürmek için.

Docker Box kullanımı size izin verir yeniden kullanılabilir yaz Başkalarıyla paylaşabileceğiniz konteyner tanımları. Taahhütte bulunabilirsin Docker-Compose.yml Geliştiricilerin ezberlenmesi yerine sürüm kontrolünüze Docker koşusu komutlar.

Birden fazla konteyner çalıştırmak için başka yaklaşımlar da var. Docker uygulaması başka bir soyutlama düzeyi sağlayan gelişmekte olan bir çözüm. Ekosistemde başka bir yerde, Podman bir docker alternatifidir Bu, terminalinizdeki konteynerlerin "bakla" oluşturmanızı sağlar.

Konteyner Orkestrasyonu

Docker normalde üretimde olduğu gibi çalışmıyor. Bu gibi bir orkestrasyon platformunu kullanmak artık daha yaygındır. Kubbernetler veya Docker Swarm modu. Bu araçlar işlemek için tasarlanmıştır Çoklu Konteyner Replicas, Ölçeklenebilirlik ve güvenilirliği artırır.

Docker, daha geniş kaplama hareketinde yalnızca bir bileşendir. Orkestratörler aynı şekilde yararlanmak Konteyner çalışma zamanı teknolojileri, üretim için daha iyi bir ortam sağlamak için. Birden fazla konteyner örneği kullanarak Rolling güncellemelerine izin verir Makineler arasında dağıtımın yanı sıra, dağıtımınızı değiştirmek ve kesinti yapmak için daha esnek hale getirmek. Düzenli liman işçisi CLI bir konakçıyı hedefler ve bireysel kaplarla çalışır.

Konteynerler için güçlü bir platform

Docker, konteynerlerle çalışmak için ihtiyacınız olan her şeyi size verir. Yazılım geliştirme ve sistem yönetimi için önemli bir araç haline gelmiştir. Asıl faydalar, bireysel hizmetler için izolasyon ve taşınabilirlik artmaktadır.

Docker ile tanışmak, temel konteyner ve görüntü kavramlarını anlama gerektirir. Bunları, iş yüklerinizi kapsayan özel görüntülerinizi ve ortamlarınızı oluşturmak için uygulayabilirsiniz.


, Linux - En Popüler Makaleler

Arch Linux'u nasıl güncellenir

, Linux Jul 30, 2025

Ubuntu Projesi Arch Linux sisteminizi güncellemek için zaman geldi mi? Saf kemerte ya da bir kemer tabanlı bir distroda olsun Manjaro Ve Garuda..


GNOME 40'taki Yenilikler?

, Linux Jul 23, 2025

GNOME VAKFI GNOME 40, yeni bir numaralandırma şemasına sahip. Yeni görünümüyle birlikte yeni bir çalışma yolu geliyor. Eski dikey metaforlar, yatay..


Geliştiriciler ve meraklıları için 2021'in en iyi Linux dizüstü bilgisayarları

, Linux Sep 27, 2025

TOMEQS / Shutterstock.com 2021'de bir Linux dizüstü bilgisayarda ne aranmalı Neredeyse herhangi bir dizüstü bilgisayar satın alabilirsiniz ve..


Linux'ta yerli oyun ölüyor olabilir ve bu tamam

, Linux Sep 27, 2025

DC Studio / Shutterstock.com NS Buhar güverte , Ağustos 2021'de açıklanan, Linux'ta oyunların geleceği hakkında konuşan Linux oyun çevreler..


Linux çekirdeğinde yeni olanlar 5.14

, Linux Sep 9, 2025

Sean Locke Fotoğrafçılığı / Shutterstock Linux 30 yaşında olduğu gibi, çekirdek 5.14 serbest bırakıldı. Kaput altındaki dahili düzeltmelerin ve ..


Ubuntu 21.10, özelleştirilmiş bir GNOME 40 masaüstüne ulaşır

, Linux Oct 14, 2025

Ubuntu Eğer bir Ubuntu kullanıcısıysanız veya bir deneme yapmayı düşünen biri, bugün iyi bir gündür. Kanonik, resmen Ubuntu 21.10'u özelleştirilmiş bir GNO..


Linux'ta DNS nasıl yıkanır

, Linux Nov 14, 2024

İnternet tarama deneyiminiz Linux cihazınızda yavaş mı, yoksa ziyaret ettiğiniz web siteleri modası geçmiş mi yoksa yanlış web sitesi mi? Linux üzerindeki DNS önbelleğini yıkamay..


Public IP'nizi bir Linux bash betiğinde nasıl alabilirsiniz?

, Linux Nov 9, 2024

Bilgisayarınıza uzaktan bağlanmak istiyorsanız harici IP adresinize ihtiyacınız olacaktır. Manuel olarak bulmak kolaydır, ancak bir Linux komut dosyası içinden nasıl bulacağınız a..


Kategoriler