Json tabanlı eklenti için 'docker eklentisi kurulumu' nasıl yapılır


9

Yepyeni bir hacim eklentisi üzerinde çalışıyorum ve tüm vol-test testlerinin geçmesi gerekiyor. Ve birincisi hariç tüm testleri başarıyla geçtim (yüklü eklentisi olan bir ortamda) docker plugin install. Mesele şu ki , özel bir eklenti kurmanın üç olası yolu vardır :

.sock dosyaları UNIX etki alanı yuvalarıdır.
.spec dosyaları, unix: ///other.sock veya tcp: // localhost: 8080 gibi bir URL içeren metin dosyalarıdır.
.json dosyaları, eklenti için tam json belirtimi içeren metin dosyalarıdır.

ve docker API (java, spring ile yazılmış) uygulayan bir REST sunucusu olan json kullanıyoruz. Bunun için yükleme işlemi doğrudan: json dosyasını kopyalayın /etc/docker/pluginsve dockerd otomatik olarak bulur.
Eklentiyi docker plugin installkomuta entegre etmeye çalıştığımda sorun geliyor . O belirtildiği gibi burada :

Docker, önce Docker ana makinenizdeki eklentiyi arar. Eklenti yerel olarak mevcut değilse, eklenti kayıt defterinden alınır.

Yükleme işlemimiz özel veya genel bir kayıt defterine bağlantı oluşturmaz, bu nedenle docker plugin createeklentiyi yerel olarak oluşturmak için ilk komuta ihtiyacımız vardır . Ve bu, json tabanlı eklenti ile nasıl yapılacağını kafamı sarmak için zor zamanlar geçirdiğim yer. Gereğince bu doc, ben eklentisi için bir yol belirtmeniz gerekir. Ben beklediği bir dizin adını kullanırsanız config.jsonve rootfsdizinde mevcut olması.

AMA
1. config.json- Bu, .sockbiçim yapılandırmalarını değil, .jsonbiçimi açıklayan bir yapılandırmadır (lütfen yanılıyorsam beni düzeltin)
2. rootfs nasıl oluşturulur ve eklentim yalnızca bağımsız bir REST ise neden buna ihtiyacım var? hizmet ve konteyner içinde bile değil mi?

Herhangi bir yardım için teşekkür ederiz.

Yanıtlar:


-1

config.json - bu, .json biçimini değil .sock biçim yapılandırmalarını açıklayan bir yapılandırmadır (yanlışsam lütfen düzeltin)

Ben json dosyalarıyla olsa nasıl çalıştığından emin değilim .spec dosyalarıyla çalıştığını doğruladım. .Spec dosyaları için config.json dosyasında .spec dosyalarından bahsetmezsiniz. Bu yalnızca unix soket eklentileri için kullanılır (seçenek 1). Aslında TCP soket eklentileri için config.json'a gerek yoktur.

nasıl rootfs oluşturabilirim ve eklentim sadece bağımsız bir REST hizmeti ise ve kapta bile değilse neden buna ihtiyacım var?

Anladığım kadarıyla, rootfs sadece unix soket eklentileri içindir. Sağ klasörde .spec dosyaları varsa eklenti bulma kutunun dışında çalışır. Özetle, spec dosyası oluşturup doğru keşif klasörüne koyar ve kapsayıcıyı bu eklenti adıyla önyüklemeye çalışırsınız. "Docker eklentisi create / install / enable" gibi komutları çalıştırmanız gerekmez. Sunucuyu çalıştırın, dosyayı doğru klasöre koyun ve yeni kapsayıcıların bu eklentiyi kullanmasına izin verin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.