Linux'ta Docker Konteynerine Apache Nasıl Kurulur


Geliştiricilere destek sağlayan bir Linux sistem yöneticisiyseniz muhtemelen Docker'ı duymuşsunuzdur. Değilse, bu yazılım çözümü, diğer avantajların yanı sıra işletme maliyetlerini azaltmanıza ve dağıtımları hızlandırmanıza yardımcı olarak bugünden itibaren hayatınızı kolaylaştıracaktır.

Ama bu sihir değil. Bir platform olarak Docker, ortamlar arasındaki farklılıkları ortadan kaldırmak için bir uygulamanın paketlerinin yanı sıra çalıştırmak için ihtiyaç duyduğu tüm araçları içeren konteynerlerden yararlanır.

Başka bir deyişle konteynerli yazılım, nereye kurulduğuna bakılmaksızın tutarlı bir şekilde çalışacak ve yönetilebilecektir. Ek olarak, konteynerlerin kurulumu, başlatılması, durdurulması ve bakımı eski güzel sanal makinelere göre çok daha kolaydır.

Bu iki teknoloji arasındaki farklar hakkında daha fazla bilgi edinmek istiyorsanız resmi Docker web sitesinde harika bir açıklama bulunmaktadır.

Örnek olarak, bu makalede Docker'ın CentOS/RHEL, Rocky/Alma Linux ve Debian/'a nasıl kurulacağını açıklayacağız. Ubuntu'ya gidin ve Docker Hub'dan bir Apache 2.4 kapsayıcısını döndürün.

Daha sonra bunu ana dizinimizden basit bir web sayfası sunmak için kullanacağız - üstelik ana makinemize bir web sunucusu yüklememize gerek kalmadan.

Docker'ı Linux'a Kurmak

Başlamak için aşağıdaki curl komutunu kullanarak Docker'ı yükleyelim. Bu, Docker deposunu sistemimize ekleyecek ve paketi yükleyecek bir kabuk betiği indirip çalıştıracaktır.

curl -fsSL https://get.docker.com | sh

Daha sonra, ana Docker hizmetini başlatmak için systemctl komutunu kullanın, yeniden başlatma sırasında başlatılmasını etkinleştirin ve durumunu kontrol edin.

systemctl start docker
systemctl enable docker
systemctl status docker

Bu noktada basitçe çalıştırabiliriz.

docker

Kullanılabilir komutların listesini görüntülemek veya yardım almak için.

docker COMMAND --help
docker ps --help

sistemimizde bulunan kapsayıcıları nasıl listeleyeceğimizi bize anlatacak, oysa

docker run --help

bir kabı işlemek için kullanabileceğimiz tüm seçenekleri yazdıracaktır.

Apache Konteyneri Kurma

Docker ekosisteminin harika yanlarından biri de kolayca indirip kullanabileceğiniz onlarca standart kapsayıcının bulunmasıdır.

Aşağıdaki örnekte, mevcut terminalden ayrılmış, tecmint-web adlı bir Apache 2.4 kapsayıcısının örneğini oluşturacağız. Docker Hub'dan httpd:2.4 adlı bir görüntüyü kullanacağız.

Planımız, 8080 numaralı bağlantı noktasındaki genel IP adresimize yapılan isteklerin, konteynerdeki 80 numaralı bağlantı noktasına yönlendirilmesini sağlamaktır. Ayrıca, kapsayıcının kendisinden içerik sunmak yerine /home/user/website adresinden basit bir web sayfası sunacağız.

Bunu /home/user/website/'i kapsayıcıdaki /usr/local/apache2/htdocs/'de eşleyerek yaparız. Devam etmek için sudo kullanmanız veya root olarak oturum açmanız gerekeceğini ve her dizinin sonundaki eğik çizgileri atlamamanız gerektiğini unutmayın.

sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4

Bu noktada Apache kapsayıcımız çalışır durumda olmalıdır.

sudo docker ps

Şimdi /home/user/website dizini içinde docker.html adında basit bir web sayfası oluşturalım.

vi /home/user/website/docker.html

Aşağıdaki örnek HTML içeriğini dosyaya ekleyin.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Learn Docker at linux-console.net</title>
</head>
<body>
    <h1>Learn Docker With Us</h1>   
</body>
</html>

Daha sonra tarayıcınızı Sunucu-IP:8080/docker.html'ye yönlendirin (burada Sunucu-IP ana makinenizin genel IP adresidir). Daha önce oluşturduğumuz sayfa size sunulmalıdır.

Dilerseniz artık konteyneri durdurabilirsiniz.

sudo docker stop tecmint-web

ve onu kaldırın:

sudo docker rm tecmint-web

Temizliği tamamlamak için kapsayıcıda kullanılan görüntüyü silmek isteyebilirsiniz (yakında başka Apache 2.4 kapsayıcıları oluşturmayı planlıyorsanız bu adımı atlayın).

sudo docker image remove httpd:2.4

Yukarıdaki adımların tümünde web sunucusunu ana makinemize kurmak zorunda kalmadığımızı unutmayın.

Özet

Bu makalede Docker'ın nasıl kurulacağını ve bir konteynerin nasıl yönetileceğini açıkladık. Ne yazık ki bunlar yalnızca temel bilgilerdir. Dockers'ı (ve genel olarak konteynerleri) daha derinlemesine kapsayan kurslar, kitaplar ve sertifika sınavları mevcuttur.

Docker hakkında daha fazla bilgi edinmek istiyorsanız Docker'ın nasıl kurulacağını, uygulamaları konteynerlerde nasıl çalıştıracağınızı ve dockerfile ile otomatik olarak docker görüntüleri oluşturmayı açıklayan 3 makalelik bir seriyi zaten ele aldık.

  • CentOS ve RHEL'de Docker'ı Kurun ve Temel Konteyner Manipülasyonunu Öğrenin
  • CentOS/RHEL'de Uygulamaları Docker Konteynerlerine Dağıtma ve Çalıştırma
  • CentOS/RHEL'de Dockerfile ile Docker Görüntülerini Otomatik Olarak Oluşturun ve Yapılandırın
  • Docker Görüntüleri, Kapsayıcılar ve Birimler Nasıl Kaldırılır

Bunu başlangıç noktanız olarak düşünün ve herhangi bir sorunuz veya yorumunuz varsa bize bildirin; sizden haber almak için sabırsızlanıyoruz!