Docker, resmi olarak 2013 yılında piyasaya sürülen bir araç, bir konteyner yönetim sistemidir. Sistem, ölçeklendirme, yükseltme ve başka bir sunucuya geçiş yaparken son derece kullanışlıdır.
Serverspace, önceden yüklenmiş "Docker" uygulaması ile bir sunucu oluşturabilirsiniz.
Docker Go programlama dilini kullanmaktadır. Başlangıçta araç yalnızca Linux donanımında kullanılabilse de, artık Windows ve macOS cihazlarıyla da uyumludur.
Proje artık niş değil. Nispeten kısa bir süre içinde çok çeşitli profesyoneller arasında popüler hale geldi. Halihazırda birçok çözüm için kullanılıyor ve Docker'ın gelecekte daha da popülerlik kazanması bekleniyor. Bunun ana nedenlerinden biri, önceden oluşturulmuş, serbestçe erişilebilen konteyner görüntülerinden oluşan bir depo olan Docker Hub'dır. Depoya yalnızca serbest çalışanlar değil, programlama konusunda tutkulu olan meraklılar da projelerini yerleştiriyor. Resmi geliştiriciler de düzinelerce önceden oluşturulmuş uygulamayı kamuya açık alanda bırakıyor. Örneğin, artık Jenkins, Redmine, GitLab, MySQL, Apache, Elasticsearch ve diğer birçok çözümü depoda bulabilirsiniz.
Docker ile nasıl çalışılır
Sistem basit ve kullanımı kolaydır. Örnek olarak, WordPress'i sıfırdan başlatmayı deneyelim. Docker ile bu site yönetim sistemine başlamak için tek yapmanız gereken komutları çalıştırmaktır:
docker run --name wp-mysql -e MYSQL_ROOT_PASSWORD=wpmsqlpsswd -d mysql:5.7
docker run --name my-wordpress --link wp-mysql:mysql -d -p 80:80 wordpress
Bundan sonra, http://localhost adresinde localhost yerine sunucunuzun harici IP adresini belirttiğiniz bir web tarayıcı sayfası açın ve WordPress'i yapılandırmaya devam edin.
Docker Yapısı
Ekosistemle çalışırken kullanıcılar bu üç temel terimle karşılaşır:
- Görüntü. Bu terim, yeni konteynerler oluşturmak için kullanılan düzeni ifade eder. Aslında, içinde program kodu ve ortam bulunan dosya sisteminin bir dökümüdür;
- Kayıt Defteri. Ekosistemdeki kayıt defteri daha önce bahsettiğimiz Docker Hub'dır;
- Konteyner. Kullanıma hazır çalışan bir uygulama.
Docker kullanmanın faydaları
Kolaylık Docker kullanıcılarının sevdiği bir şeydir. Docker kullanarak ek yazılım yüklemek veya hazır bir uygulama oluşturmak, manuel olarak kurmaktan kıyaslanamayacak kadar hızlıdır. Ekibin çalışmasını optimize etmeye ve bu tür prosedürler için harcanan zamanı büyük ölçüde azaltmaya olanak tanır.
Örneğin, Github, Jenkins, Redmine vb. yüklemeniz gerekir. Ortamı, paketleri ve web sunucusunu kendiniz kurmak yerine, işin çoğunun zaten yapıldığı bir konteyner çalıştırabilirsiniz.
hub.docker.com deposu bu türden yüz binlerce program içermektedir. Hepsi gerekli kütüphanelerle birlikte yüklenir, böylece diğer yazılımlarla çakışma olmaz.
Docker'ı uygulamanızı başka bir ortama taşımak için de kullanabilirsiniz. Bunu yapmak için konteynerinizi depoya yükleyin ve yeni sunucuya yükleyin.