Docker Data Yönetimi

'Docker' forumunda KaliBot tarafından 31 Mart 2019 tarihinde açılan konu

  1. KaliBot

    KaliBot Moderator

    Katılım:
    30 Haziran 2015
    Mesaj:
    576
    Beğeniler:
    71
    Ödül Puanları:
    12
    Konteynırler üzerinde çalışma yaparken olası bir durumda data’ların kaybolmaması için kalıcı olarak saklanılması gerekir. Bu dataların yönetimi docker volume ile gerçekleştirilmektedir. 3 tür volume vardır.

    To keep data around when a container

    Konteyır durduğunda veya silindiğine dataların kalıcı olmasıdır. Bu kalıcı dataları imaj içerisinde kaydetmektedir.

    [​IMG]

    İlk etapta daha önce nginx imajından oluşturulan bir konteynır incelendiğinde herhangi bir dizine bağlı olmadığını göstermektedir. Yeni konteynır oluşturulup -v parametresi ile nginx imajı üzerinde -v parametresi ile verilerin tutulacağı dizini tanımlandı. Olası bir konteynır probeleminde veya silinmesinde veriler imaj üzerinde verilen dizinde kalıcı olarak bulunacaktır.

    Komut:
    docker run –name vol_test -d -p 8080:80 -v /volume nginx:latest
    [​IMG]

    Docker inspect ile yeni yeni oluşturulan konteynır inclendiğinde -v parametresi ile tanımlanılan dizinde veri yolu olarak göstermektedir.

    To share data to between the host filesystem and the docker container
    Host ile konteynır arasında dataların kalıcı paylaşılmasıdır. Elimizde bulunan nginx ile yeni bir konteynır oluşturup log dosyalarını fiziksel makine ile paylaşılmasını sağladık. Bu paylaşım -v parameteresi ile gerçekleştirilir. Burada -v parameterenin diğerinden farkı olarak dizin hem fiziksel makinede hemde konteynırda tanımlanır. -v hostdirectory:containerdirectory şeklinde tanımlanır.

    Komut:

    docker run --name vol_host -d -p 8081:80 -v /root/Desktop/tools/nginx/:/var/log/nginx nginx

    Komutu uyguladıktan sonra hem fiziksel host’ta hemde konteynırda aynı anda logları açıp nginx’e istek gönderildiğinde her iki tarafıda loglar düşmektedir.

    [​IMG]

    To share data with order Docker containers
    Konteynırler arasında dataların paylaşılmasıdır. Birden fazla konteynır ile çalışırken veri paylaşma ihtiyacını gidermek için kullanılır. Konteynırler arasında data paylaşmak için –volumes-from parametresi kullanılır.

    [​IMG]

    İlk etapta ubuntu imajından ubuntu_1 adında bir konteynır oluşturup volume olarak test dizini tanımlandı. İkinci kısımda ise aynı ubuntu imajından ubuntu_2 adında bir konteynır oluşturulup –volume-from parametresi ile ubuntu_1 konteynırında bulunan test dizini paylaşıldı.
     
    MrX ve r00ts4 bunu beğendi.

Bu Sayfayı Paylaş