Genel

  • Kategori: genel
  • Gösterim: 4435

Docker Nedir?

Docker Nedir?

Docker en net tanımlamayla open source bir ‘container’ teknolojisidir. Docker, aynı işletim sistemi üzerinde, yüzlerce hatta binlerce birbirinden izole ve bağımsız containerlar sayesinde sanallaştırma sağlayan bir teknolojidir. Web uygulamalarımızın kolayca kurulumunu, testini, çalışmasını ve deploymentını sağlar. Bunun yanında sunucu maliyetlerini önemli ölçüde azaltır.

Docker, uygulamaların farklı ortamlarda çalıştırılması sürecinde kullanılan bir platformdur. Uygulamamızı derler, ölçeklendirir, paketler ve dağıtmamızı sağlar. Docker içerisinde barındırdığı container yapısını ve Docker Hub üzerinden indirilen image’ları kullanarak ürünü farklı işletim sistemi, versiyon ve environment’larla birbirinden izole şekilde çalıştırır; yeterli kaynak ve gerekli yapılandırmalar ile birlikte kullanıldığında, yapısal problemleri ortadan kaldırarak uygulamalarımızı stabil bir şekilde çalışabilecek hale getirir.

Docker Daemon: Hypervisor’ün dockerdaki karşılığıdır. Bütün CPU ve RAM vb gibi işletim sistemine ait işlerin yapıldığı bölümdür.

Container Nedir?

Docker Daemon tarafından Linux çekirdeği içerisinde birbirinden izole olarak çalıştırılan process’lerin her birine verilen isimdir. Virtual Machine (Sanal Makina) analojisinde Docker’ı Hypervisor’e benzetirsek fiziksel sunucu üzerinde halihazırda koşturulmakta olan her bir işletim sisteminin (sanal sunucunun) Docker’daki karşılığı Container’dır.

Image Nedir?

Containerlar layer halindeki Image’lardan oluşur. Docker Image ise containerlara kurulacak ve run edilecek olan uygulamaların veya OS’lerin image dosyalarıdır. Örnek verecek olursak mysql, mongodb, redis, ubuntu, mariadb.. Yüzlercesi mevcut. Docker Image'lara ulaşmak için Hub Docker adresine göz atabilirsiniz.

Hangi Platform ve Dilleri Destekler?

Docker, Windows, Mac ve Linux üzerine kurulabilir.

Java, C#, Python, Php, Grovy, Ruby gibi pek çok dili destekler.

Virtualization (Sanallaştırma) Nedir?

Bir yüksek kapasiteli sunucu üzerine kurulan sanal bilgisayarlardır. Her sanal bilgisayar sunucunun kaynaklarını kullanır ve içerisine farklı işletim sistemleri, uygulama ve uygulama gereksinimleri bulunmaktadır. Aşağıdaki görselde bir sanallaştırma altyapısı bulunmaktadır. 3 adet sanal makine bir sunucu üzerine kurulmuştur.

Containerization (Konteynerleştirme) Nedir?

Containerization, bir sunucu üzerindeki işletim sisteminin diğer container’lar tarafından paylaşılması demektir. Birbirinden farklı uygulamalar, dağıtımlar ve envrionment’ları birbirinden izole şekilde çalıştırır. Aşağıdaki görselin bir Linux ubuntu sunucusu olduğunu varsayalım, ortamlar birbirinden farklı dağıtımlara (Fedora, CentOs, Debian), farklı environment’ ara ve kütüphanelere sahip olabilirler. Docker Hub üzerinden istenen image’lar indirilir ve Docker sunucu sistemindeki kernel’ı kullanarak belirtilen dağıtım üzerinde uygulamamızı çalıştırır.

Sanallaştırma vs. Konteynerleştirme

En Çok Kullanılan Docker Komutları Nelerdir?

build: Belirtilen image’ı build edip yükler.

docker build –t 

pull: Belirtilen image’ı Docker hub üzerinden yükler.

Docker pull : 

run: Yüklenen image’ları çalıştırır.

Docker run 

run: Yüklenen image’ları çalıştırır.

Docker run 

run: Yüklenen image’ları çalıştırır.

Docker run 

stop: Belirtilen container’ı durdurur.

Docker stop 

images: Yüklenen image’ları gösterir.

Docker images

ps: Çalışan containerleri listeler.

Docker ps

ps -a: Çalışan ve çalışmayan tüm containerlerı listeler.

Docker ps -a

exec: Container içerisinde işlem yapmak için kullanılır.

Docker exec  

logs: Container logunu ekrana basar.

Docker logs 

inspect: Belirtilen öğenin bilgilerini getirir.

Docker inspect 

rm: Belirtilen container’ı siler.

Docker rm 

rmi: Belirtilen image’ı siler.

Docker rmi 

-t: Container’e isim vermek için kullanılır.

Docker build –t  .

-p: Port vermek için kullanılır.

Docker run –p : 

-e: Environment dışarıdan verildiğinde kullanılır.

Docker run -e  = "value" 

-d: Image’ı arka planda başlatır.

Docker run -d 

Docker Container Örnek

docker run -p 127.0.0.1:3306:3306  --name some-mariadb -e MARIADB_ROOT_PASSWORD=my-secret-pw -d mariadb:tag

Örnek komut Mariadb image kurulumu göstermektedir. Docker run ile container çalıştırılır. -p ile yayın yapılacak portlar belirtilir. --name ile container'a isim verilir --name parametresi girmezseniz Docker Engine random bir tane container isim atayacaktır. -e parametresi varsa environment değişkenleri belirtilir. Bu kullanıcı adı,parola vb. olabilir. -d parametresi ise container'ın detach modda çalışacağı belirtilir eğer belirtilmezse container çalışır ve ekrana log kayıtlarını getirir.En son olarak container hangi image ile oluşturulacağı belirtilir. Image'da bulunan tag kısmı ise kullanılacak image dosyasının versiyonu belirtilir. mariadb:10.3 , mariadb:latest , mariadb yazıp herhangi bir tane versiyon belirtmezseniz en son sürün hangisi ise onu kullanır.

  • Kategori: genel
  • Gösterim: 6170

Zimbra Mail Gönderim Limiti Nasıl Arttırılır?

Zimbra'da varsayılan mail ve dosya gönderim boyutu 10 MB'dir. Bu limiti arttırmak isterseniz aşağıdaki komutları çalıştırabilirsiniz.

Öncelikle Zimbra kullanıcısı olarak bağlanın.

su - zimbra

Aşağıdaki komut ile mevcut mesaj gönderim limitinizi kontrol edin.

zmprov gcf zimbraMtaMaxMessageSize

Ekran çıktınız size yetersiz gelirse aşağıdaki komutu çalıştırın.

zmprov modifyConfig zimbraMtaMaxMessageSize 20480000
postfix reload
zmcontrol restart

Böylelikle mesaj gönderim boyutunuz 20 MB olarak güncellenmiş olacaktır.

Faydalı Olması Dileği İle

SunucuPARK Destek

  • Kategori: genel
  • Gösterim: 4900

Docker Stack Nedir?

Docker Stack Nedir?

Docker stack aslında docker swarm’ın production tarafında daha yönetilebilir bir şekilde işlemesi için ,bir konfigürasyon dosyası üzerinden kurgulandığı ve yönetildiği bir yapıdır. Ya da başka bir tanımlama ile docker compose dosyası ile docker swarmın tek elden yönetilmesini sağlamaktır.

Stack kullanırken tek YAML dosyası üzerinden birden fazla servisi , network ve volume yönetebiliriz.

Docker Stack Nasıl Oluşturulur?

İlk olarak docker-compose gibi bir yaml dosyası oluşturmamız lazım. Daha öncedende docker-compose ile bahsetmiştik. docker-compose nedir ve nasıl kullanırlır buradan ulaşabilirsiniz.

Örnek olarak bu docker-compose.yml dosyasını kullanalım. Docker Stack için dosya ismi docker-compose olmak zorunde değildir.

Docker Stack ile service oluşturmak için docker swarm yapısını oluşturmanız gerekmektedir. Bunun için Docker Swarm Nedir? CentOS 7 Docker Swarm Oluşturma makalemizden yararlanabilirsiniz.

Resmideki .yml dosyanı içeriğini hazırladıktan sonra docker stack oluşturma işlemine başlayabiliriz. Oluşturduğumuz .yml dosyasının adı docker-compose.yml olsun. Bunun üzerinden işlem yapalım.

docker stack deploy -c docker-compose.yml nginx

Komutu çalıştırdıktan sonra docker stack ile docker service oluşturmuş olduk.

Komutu inceleyecek olursak:

-c parametresi --compose-file kısaltmasıdır.Yani deploy edilecek .yml dosyasını belirttiğimiz kısımdır.

-c parametresinden sonra deploy edilecek .yml dosyanısı belirtiyoruz.YAML dosyasını belirttikten sonra docker service ve docker stack için herhangi bir name veriyoruz.Örnekte görüleceği üzere nginx server oluşturduğumuzdan dolayı name kısmını nginx verdik.

Docker Stack ve Docker Service için Constraint Yapısı

node attribute matches Example 
node.id Node ID node.id==23vxic23axc3w
node.hostname Node Hostname node.hostname!=node2 or node.hostname==node1
node.role Node role (manager/worker) node.role==manager
node.platform.os Node Operating System node.platform.os==windows
node.platform.arch Node Architecture node.platform.arch==x86_64
node.labels User-defined node labels node.labels.security
engine.labels Docker Engine's Labels engine.labels.operatingsystem==ubuntu-14.04

Docker stack kullanırken constraint hangi node,hostname,os 'da oluşturulacağını bildirdiğiniz bir yapıdır. Böylelikle istediğiniz nodelarda docker service ve docker container oluşturabilirsiniz. Bunu kullanırken operatörlerden yararlanabilirsiniz.

Örneğin;

docker service create --name db --constraint "node.hostname==node1" mysql -> ile node1 'de mysql docker service ve docker container oluşturur.

docker service create --name db --constraint "node.hostname!=node1" mysql -> ile node1 dışındaki bütün node ve managerlarda docker service ve docker container oluşturulur.

Docker Stack ile aktardığımız bilgilerin yararlı olması dileğiyle başka bir docker yazımızda görüşmek üzere...

  • Kategori: genel
  • Gösterim: 14285

Uzak Masaüstü(RDP) Ekran Çözünürlüğü Ayarlama

Uzak Masaüstü(RDP) bağlantıda ekran gözünürlüğünü ayarlamak için aşağıdaki adımları takip etmeniz yeterli.

Uzak Masaüstü bağlantısını sağlayacağımız aracı açıyoruz.

Sol altta bulunan seçenekleri göster butonuna tıklıyoruz.

 

Ardından  üst tarafta bulunan görüntü sekmesine tıklıyoruz. Buradan istediğimiz çözünülük ve renk kalitesini ayarlayabiliriz.

 

 

Faydalı Olması Dileğiyle,

SunucuPARK Destek

  • Kategori: genel
  • Gösterim: 3416

Plesk Panel'in SSL Sertikası Nasıl Yüklenir

Bu makalemizde sizlere Plesk panelde SSL kurulumunu anlatacağız.

Panelinizde buluna sol menüden Araçlar ve Ayarlar -> SSL Sertifikaları bağlantısını takip edip yeni bir SSL sertifikası ekleyin.

SSL sertifikanıza bir isim verip sertifika dosyanızı yükleyin ve kaydedin.

Daha sonra yukarıda ekran görüntüsünde belirtildiği gibi Plesk'i güvende tut seçeneğini belirleyip, Plesk'i emniyete almak için kullanılan sertifika ismini eklediğiniz sertifika ismini verin.

Faydalı Olması Dileği İle

SunucuPARK Destek

 

 

 

 

 

Alt Kategoriler