2015-07-13 10 views
12

Sono nuovo nella finestra mobile. Ho letto lo tutorial nell'API remota della docker. Nell'aspetto della creazione del contenitore. Mi mostra troppi parametri da riempire. Voglio sapere che cosa è equivalente a questo comando:Come utilizzare la API remota finestra mobile per creare un contenitore?

finestra mobile run -d -p 5000: 5000 --restart = sempre --name registro Registro di sistema: 2.

Non ne ho idea. Qualcuno può dirmelo? Grazie!

risposta

risposta

9

originale (luglio 2015):

che sarebbe (non testato direttamente), come in this tutorial (a condizione che il remote API is enabled):

Innanzitutto creare il contenitore:

curl -v -X POST -H "Content-Type: application/json" -d '{"Image": " registry:2.",}' http://localhost:2376/containers/create?name=registry 

Quindi avviare it:

curl -v -X POST -H "Content-Type: application/json" -d '{"PortBindings": { "5000/tcp": [{ "HostPort": "5000" }] },"RestartPolicy": { "Name": "always",},}' http://localhost:2376/containers/registry/start?name=registry 

Aggiornamento febbraio é017, per la finestra mobile 1.13+ vedere rocksteady's answer, utilizzando un'idea simile ma con l'attuale engine/api/v1.26.

+0

Grazie per la risposta, ho successo. – v11

+0

Io uso HttpClient in java per connettere api, aggiungere param che mostri, mi restituisce errore su "carattere non valido 'I' cerca inizio di valore", perché? Aggiorno la mia domanda – v11

+0

@ v11 considerando che hai menzionato che avevi avuto successo in precedenza, potresti fare una nuova domanda? Ciò consentirà ad altri di usare questo per arricciare. Inizialmente non menzionava l'API java. – VonC

3

Più o meno semplicemente copia VonC s risposta per aggiornare alla versione di oggi di docker (1.13) e docker remote api version (v1.26).

ciò che è diverso: ha bisogno di

  • Tutta la configurazione da fare quando si crea il contenitore, altrimenti il ​​seguente messaggio di errore viene restituito quando si avvia il contenitore il modo in cui ha fatto VonC. {"message":"starting container with non-empty request body was deprecated since v1.10 and removed in v1.12"}

Innanzitutto creare il contenitore:(compresa tutta la configurazione) curl -v -X POST -H "Content-Type: application/json" -d @docker.conf http://localhost:2376/containers/create?name=registry Il file docker.conf assomiglia a questo:

{ 
    "Image": registry:2.", 
    "ExposedPorts": { 
    "5000/tcp": {} 
    }, 
    "HostConfig": { 
    "PortBindings": { 
     "5000/tcp": [ 
     { 
      "HostPort": "5000" 
     } 
     ] 
    }, 
    "RestartPolicy": { 
     "Name": "always" 
    } 
    "AutoRemove": true 
    } 
} 

Poi avviarlo:(il parametro nome non è necessario, il contenitore viene semplicemente chiamata registro) curl -v -X POST -H "Content-Type: application/json" http://localhost:2376/containers/registry/start

+1

Bel aggiornamento alla mia risposta precedente.+1 – VonC

+0

Risposta utile in primo luogo. – rocksteady

Problemi correlati