2016-04-01 18 views
0

arasındaki eşleştirmeler Docker belgeleri, komut satırından neler yapabileceğinizi açıklamakta oldukça iyidir.Docker Remote API ve onun komut satırı istemcisi

Ayrıca, uzak API ile ilişkili komutların oldukça kapsamlı bir açıklamasını verir. Bununla birlikte, komut satırını kullanarak yapacakları şeyleri yapmak için uzak API'yi kullanmak için yeterli bağlam sağlamaz gibi görünmektedir.

ne bahsediyorum bir örnek: Uzak API kullanarak

docker run --rm=true -i -t -v /home/user/resources:/files -p 8080:8080 --name SomeService myImage_v3 

: Eğer böyle bir komut yapmak istediğinizi varsayalım. Orada Uzaktan API bir kap "run" komutu:

POST /containers/(id or name)/start 

Ve bu komut gerçek yapmak için eklemek gerekir JSON dizeleri oldukça uzun bir liste için oluşturmak konteyner komutuna geri atıfta başla.

Burada sorun şudur: ilk önce bu komutu çağırmak işe yaramıyor. Görünüşe göre yapmanız gereken daha çok şey var (tahmin ediyorum ki bir yaratım yapmalısınız, sonra bir başlangıç ​​yapmalısınız). İkincisi, komut satırında gösterdiğim şeyi (bağlantı noktalarını ayarlama, dış dizine eşleme, vb.) Yapmak için hangi JSON dizelerini kullanmanız gerektiği açık değildir. Bunun nedeni yalnızca JSON dizeleri oluşturmak (varsayarak için gerekli olan JSON komut satırı parametreleri (en azından değil, açıktır herhangi bir şekilde!) Ile uzaktan API belgelerinde değil satır yukarı sağlanan dizeleri, ancak belirsizdir Henüz oluşturulmamış bir yaratma yapmak zorundayız!) ve başlangıç ​​için gerekli olan.

Bu bir kapsayıcıyı başlatmakle ilgilidir. nda olduğu gibi durdurmak ve bir kap yok etmek isteyen varsayalım:

docker stop SomeService 
docker rm SomeService 

, uzaktan API bunu yapmaya yönelik komutları tek to- biri olarak orada görünüyor Verilen:

POST /containers/(id or name)/stop 
POST /containers/(id or name)/kill 

Ama öyle görünüyor Bunları geçirebileceğiniz kimliklerin, kapsayıcıları veya resimleri listelediğinizde gösterilen kimliklere uymadığı.

Ben komut satırında komutları ve parametreler için bu komutları ve bunların JSON parametrelerini ilgilidir uzak API komutları kurmak ve nasıl kullanılacağı hakkında bilgi toplamak için gitmek bir yer var mı?

Başarısız olan, birisi bana uzaktan API kullanarak resmimde gösterdiğim başlangıcının nasıl yapıldığını söyleyebilir mi ??? Her halükarda

: Ben bu belgeler sorunları getirebilir liman işçisi gelişimi üzerinde çalışan birisi mi var? Belgelerinde büyük bir "delik" olduğuna inanıyorum. Birisi tavsiye lütfen

...

cevap

0

docker run sen eklemek gerekebilir, siz "etkileşimli" çalıştırıyorsanız https://docs.docker.com/engine/reference/api/docker_remote_api_v1.22/#start-a-container

ardından, docker start ardından, bu nedenle https://docs.docker.com/engine/reference/api/docker_remote_api_v1.22/#create-a-containerdocker create bir kombinasyonudur bundan sonra konteyner; https://docs.docker.com/engine/reference/api/docker_remote_api_v1.22/#attach-to-a-container

+1

Pekala: bu yüzden bir oluşturma ve çalıştırma yapmak konusunda haklıymışım.Diğer parametreler ne olacak? Bu soruyu sormadan önce (Ben her zaman bir soru sormadan önce araştırıyorum) Ad nauseam ile bağlandığınız sayfaları inceledim ve hala benim örneğimde bahsettiğim port eşleştirmelerini veya dizin eşlemelerini ilişkilendiremedim. Örneğin: uzak API'yi kullanarak -t -v/home/user/resources:/files ile nasıl bir çalışma belirtebilirsiniz ??? –

+0

BTW. Ek bilgi için teşekkürler. Bunu anlamadım ... –