15 Ocak 2019 Salı

Docker container klasör paylaşımı

Docker container içerisinde çalışan bir uygulamanın bilgisayarımızdaki verilere ulaşmasını isteyebiliriz. Bu durumda izole bir ortam olan docker container ile makinemizdeki bir dizini bağlayıp, ortak bir klasör olarak kullanabiliriz.

Bir önceki yazımızda docker container üzerinde basit bir python + opencv uygulaması çalıştırılmasına dair bir örnek gerçekleştirmiştim. Bu yazı kapsamında ise, container ile windows bilgisayarımız arasında klasör paylaşımını anlatacağım.

İlk yazımda docker kurulumundan hiç bahsetmedim. Kısaca değinmek gerekirse; docker linux kernel kullandığı için, docker engine windows üzerinde çalışmamakta. Bu sebeple docker'ı windows makinede kullanabilmek için docker toolbox kurmamız gerekiyor. Docker toolbox ile birlikte de makinemize Oracle VM VirtualBox kurulmuş oluyor. Böylece docker engine, bu sanal makine üzerinde çalışmış oluyor.

Klasör paylaşımı için sanal makineyi açıp, Ayarlar-Paylaşılan Klasörler sekmesinden klasör yolunu belirtmemiz gerekiyor. Bu işlemi yaptıktan sonra, sanal makineyi kapatıp açmak gerekebilir.

Örneğin; D dizininde docker ismindeki bir klasörü paylaşılan klasörlere ekliyorum. Klasör adı: d/docker  olarak giriyoruz.

Ardından container oluştururken -v host-path:container-path  komutu ile dizinleri birbirine bağlıyoruz;


docker run -v /d/docker:/home -it jjanzic/docker-python3-opencv bash
Böylece bir önceki yazımızda da bahsettiğimiz, python-opencv kütüphanelerini içeren image ile bir container oluşturuyoruz ve D:\docker klasörü ile container içerisindeki /home klasörünü birbirine bağlamış oluyoruz. Aşağıdaki ekran çıktısında da görüldüğü gibi, herhangi bir klasör bağlantısı yapmadan container oluşturunca home klasörünün içerisinde herhangi bir kayıt listelenmiyor. -v /d/docker:/home komutu ile container oluşturunca ise ls home komutu ile makinemizdeki D:\docker klasöründeki dosyaları görüntülemiş oluyoruz.

Hiç yorum yok:

Yorum Gönder