Bize ekiplerimizi daha önce düşünülemez seviyelere ölçeklendirme fırsatı verecek en modern gelişmelerden biri Docker, Docker ve konteynerler hakkında çok konuştuk ama gerçekten nasıl kullanılacağını veya nasıl uygulanacağını derinlemesine bilmiyoruz. Linux dağıtımlarımız ve altyapımızın yeteneklerini artırma fırsatını gerçekten kaçırıyoruz ve tesadüfen BT personeli olarak rolümüzün çok daha merkezi bir yönetimini gerçekleştirme fırsatına sahibiz.
Solvetic, Ubuntu 17'de Docker'ın nasıl kurulacağı ve kullanılacağı konusunda tam bir analiz yapacak ve bunun ne kadar basit olmasının yanı sıra, organizasyon içinde daha yüksek erişim seviyelerine ulaşma fırsatının fazla çaba sarf etmeden ve daha fazlasını kullanmadan artırılacağını göreceğiz. kaynaklar. mevcut olanlardan.
Docker Nedir?Docker, gerçekleştirilecek her göreve daha fazla potansiyel eklemek ve daha iyi işbirliği ve her şeyin yeniliği için bir model oluşturmak amacıyla uygulamalar ve altyapı ile geliştiriciler ve BT operasyonları arasında bağımsızlık yaratmaya odaklanarak geliştirildi. orada.
Tüm Docker'ın özü, bir kapsayıcı görüntüsünün, onu çalıştırmak için ihtiyacınız olan her şeyi içeren hafif, bağımsız ve yürütülebilir bir paket olduğu kaplardır:
- kod
- Uygulama vakti
- Sistem Araçları
- Sistem kitaplıkları ve yapılandırmaları.
Bu kapsayıcılar, oluşturulan kapsayıcılar yazılımı ortamdan izole etmekten sorumlu olduğundan, kapsayıcıda depolanan yazılımın ortamdan bağımsız olarak her zaman aynı şekilde çalışacağı Linux ve Windows tabanlı uygulamalar için kullanılabilir, bu da daha az çakışma yaratır ve çalışır. pürüzsüz bir yol Bağımsız.
BÜYÜT
Günümüzde odaklanılan Linux ortamlarında kapsayıcıların kullanımı, uygulamaları gerçekleştirmek için kullanılır ve bu göreve kapsayıcılaştırma denir.
Konteyner kullanmanın avantajlarıKapsayıcıları kullanırken ve uygularken sahip olduğumuz avantajlardan bazıları şunlardır:
- Esnek: Konteynerler karmaşık uygulamaları barındırabilir.
- Hafif: Konteynerler, ana bilgisayar çekirdeğini kullanır ve paylaşır ve verimliliğini artırır.
- Değiştirilebilir: Bir kapsayıcı uygulayarak güncellemeleri gerçek zamanlı olarak uygulamak mümkün olacaktır.
- Taşınabilir: Konteynerler sayesinde görüntüleri yerel olarak oluşturmak, bulutta dağıtmak ve herhangi bir yerde çalıştırmak mümkündür; bu, farklı sitelerde görev yapmamız gerektiğinde kullanışlıdır.
- Ölçeklenebilir: Bir kapsayıcı, kuruluşta daha fazla yönetim katmanı ekleyen kapsayıcı replikalarını otomatik olarak büyütebilir ve dağıtabilir.
- İstiflenebilir: Bir konteyner, hizmetleri dikey ve gerçek zamanlı olarak istifleyebilir.
Bir görüntü yürütülerek bir kap başlatılır; burada görüntü, bir uygulamayı çalıştırmak için gereken her şeyin yukarıda belirtildiği gibi dahil edildiği yürütülebilir bir pakettir. Kapsayıcı, belirli bir görüntünün çalışma zamanı örneğidir, yani görüntü çalıştırıldığında belleğe dönüştürülür.
Konteynerlerle çalışırken, bu tür günlük çalışmalarımızda sıkça olacağından bilmemiz ve aşina olmamız gereken bir dizi kavram vardır, bunlar:
Konteyner Ana BilgisayarıKapsayıcı ana bilgisayardan bahsettiğimizde, Kapsayıcı işleviyle yapılandırılmış fiziksel veya sanal işletim sisteminin kendisine atıfta bulunuruz. Kapsayıcı ana bilgisayarı, seçilen işletim sistemi için bir veya daha fazla Kapsayıcı çalıştırabilir.
Kapsayıcı ResmiKapsayıcının dosya sisteminde bir tür düzenleme gerçekleştirilirken, bu değişiklikler sınırlı bir ortamda yakalanır, yani bu kapsayıcının devreye girdiği yer, kapsayıcı durdurulduğunda, yeni bir kap görüntüsüne dönüştürülebilir. .
Kum havuzuKorumalı alan, dosya sistemi değişiklikleri, yazılım yüklemeleri veya daha fazlası gibi bazılarını bulduğumuz tüm yazma eylemlerini yakalamaktan sorumludur.
Container OS GörüntüsüHer kapsayıcının bir görüntüden görüntülendiğini unutmayın. Bu görüntü, işletim sistemi ortamını sunmaktan sorumludur ve bu nedenle hiçbir şekilde düzenlenemez.
Konteyner DeposuBir kapsayıcı görüntüsü oluşturmaya devam ettiğimizde, bu görüntü ve tüm bağımlılıkları, mevcut kaynakları etkilemeden kapsayıcı ana bilgisayarında tekrar kullanılabilecekleri yerel bir depoda depolanır.
Bu net kavramlarla Ubuntu 17.10'da bir konteynerin nasıl kurulacağını ve oluşturulacağını göreceğiz.
1. Ubuntu İşletim Sistemini Doğrulayın
Docker'ı Ubuntu'ya kurmadan önce, mevcut işletim sisteminin çekirdek sürümünü ve mimarisini doğrulamak idealdir, bunun için aşağıdakileri root kullanıcısı olarak çalıştıracağız.
Aşama 1
Sudo'yu her komuttan önce kullanabilmemize rağmen, Ubuntu'da root kullanıcısını ayarlamak için bu komutu çalıştırmak pratiktir:
sudo -s
BÜYÜT
Adım 2
Orada şifremizi giriyoruz ve tüm komutları root olarak çalıştırabiliyoruz.
Şimdi, aşağıdakileri çalıştırarak Ubuntu 17'nin çekirdek sürümünü kontrol edeceğiz:
bana katıl
BÜYÜT
Aşama 3
Son olarak, aşağıdaki komutu uygulayarak Ubuntu sürümünü doğrulayacağız:
kedi / etc / lsb sürümü
BÜYÜT
4. Adım
Ubuntu 17.10'un belirli ayrıntılarını görebiliriz. Bunu tanımladıktan sonra, aşağıdaki satırları yürüterek tüm işletim sistemi paketlerini güncellemeye devam ediyoruz:
uygun güncelleme uygun yükseltme
BÜYÜT
2. Docker'ı Ubuntu Linux'a yükleyin
Aşama 1
İşletim sistemi güncellendikten sonra aşağıdaki komutu kullanarak Docker'ı kuracağız:
uygun kurulum -y docker.io
BÜYÜT
Adım 2
Orada, daha sonra otomatik olarak kurulacak olan Docker indirme işleminin Ubuntu'da başladığını görebiliriz:
BÜYÜT
Aşama 3
Docker kurulduktan sonra, aşağıdaki satırı kullanarak başlatacağız:
systemctl Docker'ı başlat4. Adım
Docker'ın Ubuntu önyüklemesinde çalıştırılmasını sağlıyoruz:
systemctl docker'ı etkinleştir
BÜYÜT
Adım 5
Docker'ın kurulu sürümünü öğrenmek istiyorsak aşağıdakileri uygulayacağız. Orada hem istemcinin hem de sunucunun sürümünü buluyoruz.
liman işçisi versiyonu
BÜYÜT
3. Ubuntu Linux'ta Docker'ı kullanın
Yeni bir kapsayıcı oluşturmak için işletim sistemi ile bir temel görüntü seçeceğiz, yani Ubuntu, CentOS, Fedora vb.
Aşama 1
Bunu aşağıdaki gibi search komutunu kullanarak arayabiliriz:
liman işçisi araması "Resim"Adım 2
Örneğin, yürüttüğümüz tüm Ubuntu görüntülerini bulmak için:
liman işçisi arama UbuntuAşama 3
Elde edilen sonuç şu olacaktır:
BÜYÜT
4. Adım
Şimdi aşağıdaki komutu kullanarak temel imajı ekibimize indireceğiz:
liman işçisi Ubuntu'yu çeker
BÜYÜT
Adım 5
Orada DockerHub'dan sunucumuza bir görüntünün indirileceğini görebiliriz. İndirme işlemi tamamlandıktan sonra aşağıdakileri göreceğiz:
BÜYÜT
6. Adım
İndirilen görüntüleri görmek için aşağıdakileri uygulayacağız:
liman işçisi resimleri
BÜYÜT
7. Adım
Orada aşağıdaki gibi ayrıntıları buluyoruz:
- Resim adı
- resim kimliği
- Oluşturulma tarihi
- Görüntü boyutu
8. Adım
Ubuntu'dan seçilen görüntü, DockerHub Registry'den indirildi ve şimdi bu görüntüden bir kapsayıcı oluşturma zamanı, bunun için docker create veya docker run kullanarak aşağıdakileri uygulayacağız:
liman işçisi ubuntu oluştur: 17.04
BÜYÜT
9. Adım
Bu işlem bittiğinde aşağıdakileri göreceğiz:
BÜYÜT
Adım 10
Docker create komutu, yeni bir kapsayıcı oluşturmaya özen gösterecek, ancak başlatmayacaktır. Başlamak için, yürütme komutunu şu şekilde kullanacağız:
liman işçisi çalıştırma -i -t ubuntu: 17.04 / bin / bash
BÜYÜT
11. Adım
Çıkış komutunu kullandığımızda konteyner duracaktır, eğer amaç arka planda çalışan bir konteynere sahip olmaksa, komuta -d seçeneğini şu şekilde eklemeliyiz:
docker run -i -t -d ubuntu: 17.04 / bin / sh -c "doğruyken; merhaba dünyayı yankıla; uyku 1; bitti"
BÜYÜT
Not
bin / sh -c "doğruyken; yankı yankı merhaba dünya; uyku 1; bitti""Merhaba dünya" nın sürekli olarak tekrarlanmasına izin veren bir bash betiğidir, ancak mantıksal olarak gerekli değildir.
Adım 1/2
Aşağıdakileri yürüterek arka planda yürütülmekte olan kapsayıcıyı görebiliriz:
liman işçisi ps
BÜYÜT
Adım 13
Gördüğümüz gibi, aşağıdaki gibi ayrıntılar:
- Kapsayıcı IP'si
- Resim adı
- Kullanılan komut
- Oluşturulma tarihi
- Durum
Adım 14
Resmin olaylarını görmek istersek aşağıdaki sözdizimini uygulayacağız:
liman işçisi ContainerID günlükleriAdım 15
Oluşturulan kapsayıcıya bağlanmak istiyorsak aşağıdaki sözdizimini kullanacağız:
docker exec -i -t ContainerID / bin / bashAdım 16
Bir kez orada birden fazla komut çalıştırabiliriz:
BÜYÜT
Adım 17
Konteynerin hostname ve ID'sinin aynı olduğunu görebiliriz, bu bizim konteynerin içinde olduğumuzu gösterir. Bu kabuğa çıkış yazmak, o kabuktan çıkar ancak kapsayıcı arka planda çalışmaya devam eder. Kapsayıcı ile gerçekleştirilecek diğer eylemler şunlardır:
Yapma
liman işçisi ContainerID'yi durdur
Başlat
liman işçisi ContainerID'yi başlat
kapsayıcıyı sil
liman işçisi rm ContainerID
Ubuntu'da bir veya daha fazla konteynere sahip olmanın ne kadar basit olduğunu görebilir ve böylece sistemimizi daha yüksek bir konfigürasyon seviyesine ölçekleyebiliriz.