Ubuntu'daki LXD kapsayıcılarına ayrıntılı bir giriş

Konteynerler birçok nedenden dolayı faydalıdır. Uygulamaları sistemin geri kalanından yalıtır. Taşınabilirdirler ve klonlanması ve/veya diğer işletim sistemlerine taşınması kolaydır. Ve durumda Linux sistemi , herhangi bir değişiklik yapılmasına gerek kalmadan, herhangi bir dağıtım altında aynı şekilde çalışırlar. Bir konteyneri taşımanız gerekiyorsa RedHat'tan Ubuntu'ya Bu sadece basit bir kopyalama işlemi olmalıdır.

liman işçisi Tek bir uygulamayı içerecek şekilde tasarlanmış popüler bir çözümdür: örneğin bir sunucu MySQL veritabanı. benzer LXD Bazı açılardan tüm bir işletim sistemini içerecek şekilde tasarlanmıştır. Bu, onu bazı senaryolar için faydalı kılar. Örneğin şunları yapabilirsiniz: Bir kapsayıcı oluşturun LXD ve bir veritabanı sunucusu ve http sunucusu yükleyin. O zaman yapabilirsin Bir WordPress web sitesi oluşturun dahili. Artık önceki sağlayıcınızdan memnun kalmadığınızda, ihtiyaç duyulduğunda bu LXD konteynerini taşıyarak buluttan buluta geçiş yapabilirsiniz. Bir konteyneri kopyalamak kolay olduğundan, bir konteyneri bile monte edebilirsiniz. Senin internet siten Yedekli, yüksek kullanılabilirliğe sahip bir kurulum oluşturmak için birden çok bulut sağlayıcısına.

LXD, aşağıdaki gibi sanal makinelerde çalışmaz: QEMU أو VirtualBox Bu, çok hızlı olduğu ve yerele yakın yürütme hızı sağladığı anlamına gelir.

LXD'yi yükleyin ve yapılandırın

Terminal'i açın ve konteynerlerle çalışırken bazı işlemleri hızlandırmanıza ve disk alanından tasarruf etmenize yardımcı olacak LXD'nin yanı sıra ZFS yardımcı programlarını yükleyin.

sudo apt install zfsutils-linux lxd

LXD yapılandırmasını başlatın.

sudo lxd init

Varsayılan değerleri belirlemek için ENTER tuşuna basın.

Yeni zil cihazının GB cinsinden boyutu (minimum 1 GB) [varsayılan = 15 GB] için, çok sayıda kapsayıcı oluşturacağınızı biliyorsanız "50 GB" gibi başka bir değer seçebilirsiniz.

LXD görüntüsünü bulun ve çalıştırın

Tüm Ubuntu görsellerini listelemek için:

lxc image list ubuntu: arch=amd64

Çok fazla sonuç olacak. Seçebilirsiniz kemeri atla = amd64 ARM işlemciler gibi diğer platformlar için görsellere ihtiyacınız varsa (Raspberry Pi cihazları bu mimariyi kullanır).

Önceki görselde, sonuçların okunmasını kolaylaştırmak için sonuçlar sınırlandırılmıştır (| head ile). Bir parmak izi vurgulandı Ubuntu 18.04 (84a71299044b)). Bu dağıtımla bir konteyner çalıştırmak istiyorsanız komut şöyle olacaktır:

lxc launch ubuntu: 84a71299044b

Bu noktada bu, izin reddedildi hatasıyla geri dönecektir. “lxd” grubunda olması gerekmektedir. Kullanıcınız zaten bu gruba eklenmiş, ancak etkinleştirmek için oturumu kapatıp tekrar giriş yapmalısınız. Bundan kaçınmak istiyorsanız, "kullanıcı" yerine kullanıcı adınızı koyarak bu komutu kullanın:

exec su - user

Artık lxc komutları sudo'ya ihtiyaç duymadan çalışıyor.

LXD konteynerlerini Ubuntu dışı dağıtımlarla çalıştırma

Bu komut size başka hangi dağıtımların mevcut olduğunu gösterecektir:

lxc resim listesi resimleri: arch=amd64

Bir görüntüyü başlatmak için parmak izi yerine, o listede bir takma ad görürseniz bir takma ad da kullanabilirsiniz.

lxc başlatma görüntüleri:debian/9

Sona bir dize eklerseniz kapsayıcınız için bir ad seçebilirsiniz:

lxc launch images:debian/9 wordpress-site

LXD konteyner yönetimi

Tüm kapsayıcıları listelemek için:

lxc listesi

bir sütunIPV4Bu durumda çalışan herhangi bir hizmetiniz varsa özellikle önemlidir. Örneğin, eğer bir sunucu Apaçi http Örnek üzerinde çalışırken, giriş "10.234.232.246” tarayıcıda kapsayıcıda barındırılan web sitesini görüntüleyecektir.

Konteyneri durdurmak için:

lxc stop name_of_container

Ubuntu dışı dağıtımlarda bu uzun zaman alabilir (veya başarısız olabilir). Kap için bir kapak almak en iyisidir ve içeri girdiğinizde sistemctl kapatma Durdurmak için.

Her şey başarısız olursa, şunu kullanarak durmayı zorlayabilirsiniz:

lxc stop name_of_container --force

Başlatmak için:

lxc start name_of_container

Kapsayıcınızın içinde gezinmek için:

lxc shell name_of_container

“ ile programları yükleyebilirsiniz.sudo apt yükleme” ve sunucu yapılandırmak gibi normal bir Linux dağıtımında yapacağınız her şeyi yapın Apache. Kapsayıcıdan çıkmak istediğinizde şunu yazmanız yeterlidir:

çıkış

Dosyaları LXD konteynerlerine/konteynerlerinden aktarın

Kapsayıcınıza bir dosya yüklemek için:

lxc file push /path/to/local/file name_of_container/path/to/uploaded/file

Yalnızca yüklemek istediğiniz dizini değil, oluşturulacak dosyanın adını da ekleyin. İşte bir örnek:

lxc file push lxd-apt-install.png accurate-colt/var/www/website/upload.png

Dosya yerine dizin yüklemek için:

lxc file push /path/to/local/directory name_of_container/path/to/remote/directory --recursive --verbose

Örnek:

lxc file push /bin accurate-colt/tmp --recursive --verbose

Bir dizini kapsayıcınızdan ana işletim sisteminize indirmek için:

lxc file pull name_of_container/path/to/remote/directory /path/to/local/directory --recursive --verbose

Örnek:

lxc file pull accurate-colt/tmp /tmp --recursive --verbose

Sonuç

Bu kapsar LXD konteynerlerinin birincil kullanımı. Anlık görüntüler ve geri sarmalar gibi daha gelişmiş özellikler ve aşağıdaki gibi kaynak kısıtlamaları vardır: işlemci وVeri deposu , kapların klonlanması vb. Okuyucuların konuyla ilgilendiğini fark edersek, gelecekteki bir eğitimde ele alınabilir.

Üst düğmeye git