2013-12-17 22 views
5

I have image from dockerfile, which setup container, ma ho bisogno di creare e avviare contenitori con docker API REST. Il problema è che ho problemi con l'esposizione della porta ssh. Ho rimosso EXPOSE da dockerfile e creato un'immagine.Contenitore API REST creare e port binding

Dopo che ho fatto richiesta POST su/contenitori/creare con questo JSON:

{"Image":"frantiseks/apac","ExposedPorts":{"22/tcp":{}},"Memory":600000,"CpuShares":50} 

contenitore è stato creato con successo in modo da prossimo passo ho iniziato con questo POST richiesta /containers/$id/start con JSON:

{"PortBindings": { "22/tcp": [{ "HostPort": "11022" }] }} 

Ma dopo aver ispezionato il contenitore non vedo le porte mappate, quindi il contenitore non viene esposto 22 alla porta 11022 host. Sto usando la versione 0.7.1.

Qualcuno potrebbe dirmi che cosa sto facendo male? Grazie

PS: Ispezionato contenitore: http://jsonblob.com/52b01e45e4b0439bc58ec8d4

+0

l'hai preso a lavorare io ho lo stesso problema – shao

+0

No non ho, ho trovato soluzione per utilizzare solo scaricatore LAN interna, e di non esposti alcuna porta?. – eXPi

+0

Puoi aggiornare la versione più recente e vedere se il problema si risolve? – Navid

risposta

0

Hai provato: {HostIp:"", HostPort:"11022"}?

1

(Ci scusiamo per il ritardo di risposta, "comunità" ha deciso di sbattere la domanda)

Con la current 1.24 api, questo è tutto fatto nel contenitore creare. È necessario includere il seguente ci:

"HostConfig": { 
    "PortBindings": { "22/tcp": [{ "HostPort": "11022" }] }, 
    }