Docker, yazılım uygulamalarının geliştirilmesi, dağıtılması ve çalıştırılması için kullanılan açık kaynaklı bir platformdur. Basit anlamda, uygulamalarınızı ve bunların tüm bağımlılıklarını (kütüphaneler, konfigürasyonlar vb.) bir paket halinde birleştirerek, farklı ortamlarda (geliştirme, test, üretim) aynı şekilde çalışmasını sağlar.
Bu sayede ``Localde (bende) çalışıyor ama başka birinde neden çalışmıyor?” gibi sorunlarla karşılaşma olasılığınızı büyük ölçüde azaltır.
Docker’dan önce de konteynerleşme kavramı mevcuttu. Özellikle Linux işletim sisteminde çalışnan LXC(Linux Containers) gibi teknolojiler, uygulamaları izole ortamlarda çalıştırmak için kullanılıyordu. Ancak bu teknolojiler, karmaşık yapıları ve kullanım zorlukları nedeniyle yaygınlaşmakta zorlanıyordu.
2013 yılında Solomon Hykes liderliğindeki bir ekip tarafından geliştirilen Docker, LXC gibi teknolojilerin üzerine inşa edilerek, konteynerleşmeyi daha basit daha kullanışlı ve daha erişilebilir hale getirdi. Docker’ın en büyük yeniliklerinden biri, konteynerleri oluşturmak ve yöntemek için daha kullanıcı dostu bir arayüz sunmasıydı.
Docker’ın başarısının nedenleri ve önemi:
Docker‘ın sayesinde: