Bloğa geri dön

CentOS 7 üzerinde Docker Kurulumu ve Yapılandırılması

CentOS 7 üzerinde Docker Kurulumu ve Yapılandırılması

Giriş

Docker uygulamaları konteynerlerde çalıştırmayı ve yönetmeyi kolaylaştıran bir platformdur. Uygulamalarınızı altyapınızdan ayırmanın bir yolunu sunar. Konteynerler sanal makinelere çok benzer, ancak daha taşınabilir, verimli ve kullanımı kolaydır. Docker'ı Linux dağıtımlarına kurmanın çeşitli yolları vardır. Mevcut işletim sistemine Docker kurmanın en popüler ve kolay yolu yum komutlarını kullanmaktır.

Bu eğitim, Docker'ı CentOS 7 üzerinde birkaç basit adımda nasıl kurup kullanabileceğinizi gösterecektir.

Gereksinimler:

Bu eğitim boyunca çalıştırdığınız tüm komutlar root olmayan bir kullanıcı olarak çalıştırılır ve gerekirse sudo anahtar kelimesi kullanılarak root erişimi sağlanacaktır.

Adım 1: CentOS 7 Örneğinde Docker Kurulumu

Resmi CentOS 7 deposu Docker için en son kurulum paketine sahip olmayabilir. Bu bölümde, Docker’ın en son sürümünü resmi Docker deposundan kuracaksınız. İlk olarak, paket veritabanını şu komutla güncellemeniz gerekir:

Güncelleme adımı tamamlandıktan sonra, Docker’ın en son sürümünü indirip kurmak için aşağıdaki komutu çalıştırın:

Docker artık kuruldu, bu nedenle aşağıdaki komutu çalıştırarak Docker daemon’ını başlatabilirsiniz:

Docker daemon’ının çalışıp çalışmadığını doğrulamak için aşağıdakini yazın:

systemctl status komutunun çıktısı, çalıştığını gösteren ve aşağıda paylaşılan çıktıya benzer olmalıdır:

Son olarak, makinenizi yeniden başlattığınızda Docker’ın başladığından emin olmak için şu komutu kullanın:

Docker kurulumu size Docker servisinin yanı sıra istemci aracını da (Docker komut satırı istemcisi) sağlar. Eğitimin sonraki bölümlerinde, Docker komutlarını kullanarak daha fazla pratik yapabileceksiniz.

Ayrıca, kamu bulutunda Ubuntu üzerinde Docker kurulumu & kullanımı hakkındaki detaylı eğitimimize göz atabilirsiniz..

Adım 2: Sudo Öneki Olmadan Docker Komutlarını Kullanma

Docker komutlarının çalışması için root yetkilerine ihtiyacı vardır. Bu nedenle, komutları çalıştırmak istiyorsanız başlarına sudo eklemeniz gerekir. Kurulum sırasında varsayılan olarak bir Docker grubu oluşturulur. Gruba bir kullanıcı eklerseniz, Docker komutlarını sudo olmadan çalıştırabilirsiniz. Docker komutlarını sudo olmadan çalıştırmayı denemek veya kullanıcıyı gruba eklememek, aşağıdakine benzer bir çıktı ile sonuçlanacaktır:

Kullanıcı adınızı Docker grubuna eklemek, Docker komutlarını çalıştırmak için sudo kullanmak zorunda kalmamanızı sağlayacaktır:

Docker grubuna başka bir kullanıcı eklemek için komuttaki kullanıcı adını değiştirmeniz yeterlidir:

Bu kılavuzun geri kalanında, tüm komutların Docker kullanıcı grubundaki bir kullanıcı tarafından çalıştırıldığını varsayacağız. Durum böyle değilse, komutlarla birlikte sudo önekini kullanabilirsiniz.

Adım 3: Docker Komutlarını Çalıştırma

Artık Docker'ı kurup çalıştırdığınıza göre, Docker komut satırı aracına aşina olmak için bazı komutlara göz atalım. Docker komutları genellikle şu şekildedir:

Mevcut tüm alt komutları bulmak için şunu kullanmalısınız:

İtibarıyla Docker 20.10.3, kullanılabilir alt komutların tam listesi şunları içerir:

Belirli bir komut hakkında daha fazla bilgi edinmek için –help bayrağını kullanabilirsiniz:

Sistem hakkında detaylı bilgi almak için şunu kullanın:

Adım 4: Docker İmajları ile Çalışmak

Docker imajları, Docker konteynerleri için bir şablon (blueprint) olarak adlandırılabilir. Bu imajlar genellikle şuradan çekilir: Docker Hub, Docker projesi tarafından yönetilen bir kayıt defteridir (registry). Herkes Docker Hub üzerinde kendi imajlarını oluşturabilir ve yayınlayabilir. Sonuç olarak, kayıt defterinde çok çeşitli uygulamaları ve işletim sistemi dağıtımlarını kolayca bulabilirsiniz. Docker Hub'a erişimi onaylayacak basit bir programı deneyelim:

Docker'ın çalıştığını gösteren aşağıdaki gibi bir çıktı almalısınız:

Arama komutunu kullanarak Docker Hub üzerinde çeşitli Docker imajları bulabilirsiniz. Örneğin, bir CentOS imajı aramak için aşağıdaki komuta bakın:

Arama sorgusu, alt dizeyle eşleşen tüm imajların bir listesini gösterecektir. Sizin durumunuzda çıktı şu şekilde olmalıdır:

Arama sonuçlarında, imaj hakkında bilgi veren farklı sütunlar bulunur. OFFICIAL sütunundaki OK, imajın uygulamanın arkasındaki şirket tarafından oluşturulduğunu ve desteklendiğini belirtir. İmaja karar verdikten sonra, Docker pull komutunu kullanarak yerel makinenize indirebilirsiniz:

İmajı indirdikten sonra, Docker run komutunu kullanarak konteyneri çalıştırabilirsiniz. Bir imajı önceden indirmeden doğrudan çalıştırmayı denerseniz, Docker önce imajı indirecek ve ardından konteyneri çalıştıracaktır:

Aşağıdaki komutu kullanarak yerel makinenize indirilmiş olan imajları listeleyebilirsiniz:

Şuna benzer bir çıktı almalısınız:

Bu kılavuzun ilerleyen kısımlarında, konteynerleri çalıştırmak için imajları değiştirebileceksiniz. Bu yeni imajlar, Docker Hub'a ve Docker imajlarını barındıran diğer kayıt defterlerine eklenebilir veya gönderilebilir.

Adım 5: Bir Konteyneri Etkileşimli Olarak Çalıştırma

Farklı konteyner türleri vardır. Step4 adımında çalıştırdığınız hello-world konteyneri, bir mesaj yazdırdıktan sonra çalışan ve çıkan bir konteyner türüdür. Diğer bir konteyner türü ise etkileşimli olanıdır. Etkileşimli konteynerleri sanal bir makineye benzer şekilde kullanabilirsiniz.

En son CentOS imajından bir konteyner oluşturalım. Docker run komutunda -i ve -t bayraklarını kullanmak, CentOS konteynerine etkileşimli erişim sağlayacaktır:

Komut istemi değişecektir ve aşağıdaki çıktı gibi görünmelidir:

Artık çalıştıracağınız her komut konteynerin içinde çalışacaktır. Bu, sanal bir makinede komut çalıştırmaya benzer. CentOS konteynerine MySQL sunucusu kurmayı deneyelim. Bunu şununla yapabilirsiniz:

Adım 6: Bir Konteynerdeki Değişiklikleri Docker İmajına Kaydetme (Commit)

Konteyneri başlattıktan sonra, benzer bir sanal makinede yapılabilen dosya oluşturma/değiştirme veya bir uygulama kurma gibi tüm işlemleri yapabilirsiniz. Lütfen bu değişikliklerin yalnızca o konteyner için geçerli kalacağını ve konteyneri yok ettikten sonra yaptığınız değişikliklerin kaybolacağını unutmayın.

Eğitimin bu bölümünde, yaptığınız değişikliklerle bir konteynerden nasıl yeni bir Docker imajı oluşturacağınızı öğreneceksiniz. Sonrasında Step5 MySQL sunucusu kurulu olarak çalışan bir CentOS konteynerine sahip olursunuz. Bu konteyner artık sade CentOS imajından farklıdır. Konteynerin bu durumunu daha sonra kullanmak üzere kaydedebilirsiniz. İlk olarak, şu komutu kullanarak konteynerden çıkmanız gerekir:

Aşağıdaki komutu kullanarak konteynerde yaptığınız değişiklikleri yeni bir Docker imajına kaydedin (commit):

Komutta, -m commit mesajını ifade eder ve temel olarak yapılan değişiklikleri belirtmelidir, -a etiketi ise yazarı belirtmek için kullanılır. Container-id, şuradan alınan kimliktir: Step5, bunu konteyneri etkileşimli modda çalıştırdıktan sonra elde ettiniz ve genellikle repository, Docker Hub kullanıcı adınızdır. Örneğin:

İmaj kaydedildiğine göre, Docker images komutu eski imajların yanı sıra yeni imajı da listelemelidir:

Komutun çıktısı aşağıdakine benzer olmalıdır:

Örnekte görüldüğü gibi, Docker Hub'daki CentOS imajı kullanılarak yeni bir centos-mysql imajı oluşturulmuştur. Boyuttaki fark, bazı değişikliklerin yapıldığını gösterir. Bu örnekte, konteynere MySQL sunucusunun eklenmesiydi. Bir dahaki sefere MySQL sunuculu bir konteynere ihtiyacınız olduğunda, sadece yeni imajı çalıştırabilirsiniz ve işte! Önceden kurulmuş bir MySQL sunucusuyla çalışan bir CentOS konteynerine sahip olursunuz.

Adım 7: Docker Konteynerlerini Yönetme

Artık Docker’a aşina olduğunuza göre, bir süre kullandıktan sonra zaten çalışan ve bazı aktif olmayan konteynerleriniz olacaktır. Aktif konteynerlerin listesini almak için şunu kullanmalısınız:

Buna benzer bir çıktı görmelisiniz:

Hem aktif hem de aktif olmayan konteynerleri listelemek için komutla birlikte -a bayrağını kullanmalısınız:

Oluşturduğunuz son konteyneri bulmak için -l bayrağını belirtebilirsiniz:

Çalışan/aktif bir konteyneri durdurmak için basit bir komut çalıştırın:

Konteyner kimliğini (container-id) Docker ps komutunun çıktısında bulabilirsiniz.

Adım 8: İmajları Bir Depoda Yayınlama

Yeni imajı oluşturduktan sonraki adım, bunu arkadaşlarınızla paylaşmaktır. Docker Hub veya başka bir kayıt defteri kullanarak tüm dünyanın kullanımına da sunabilirsiniz. İmajı göndermeden önce ilgili kayıt defterine giriş yapmanız gerekir.

Kılavuzun bir sonraki bölümünde, imajları Docker Hub’a nasıl göndereceğinizi öğreneceksiniz. İlk olarak, Docker Hub’da kaydolun. Aşağıdaki komutu kullanarak imajınızı göndermek için Docker Hub’a giriş yapmanız gerekecektir:

Doğru şifreyi girdikten ve kimlik doğrulaması başarılı olduktan sonra imajınızı gönderebilirsiniz. İmajı göndermek için aşağıdaki komutu kullanın:

Komutun çıktısı şuna benzer olacaktır:

İmajı gönderdikten sonra, aşağıdaki görselde gösterildiği gibi hesabınızın panelinde görünmelidir:

docker account dashboard

Benzer bir şekilde başarısızlık durumunda, giriş yapmamış olma ihtimaliniz yüksektir:

Giriş yapabilir ve gönderme işlemini tekrar deneyebilirsiniz.

Sonuç

Docker'dan yararlanabileceğiniz birçok yol vardır. Bu kılavuz, başlamanız için size yeterli bilgiyi sağlayacaktır. Docker gerçekten çok popüler bir proje olduğundan, kullanımı ve farklı kullanım senaryoları hakkında birçok detayı şuradan bulabilirsiniz: projenin blog sayfası.

Docker ile neler yapabileceğiniz hakkında daha fazla bilgi edinmek için diğer Docker kılavuzlarımıza da göz atabilirsiniz:

Keyifli Çalışmalar!

author

Pranay Kapgate

Yazar · CloudSigma

Preslav Dobrev, CloudSigma'da Kreatif Tasarımcı olarak görev yapmakta olup geleneksel ve yenilikçi pazarlama kanallarını kullanarak tutarlı bir kurumsal kimlik oluşturmaya odaklanmaktadır. Sanatsal vizyonu stratejik pazarlamayla harmanlayarak etkili marka anlatıları oluşturma konusunda oldukça yeteneklidir.

Yorumlar

Henüz yorum yapılmamış. İlk siz olun.