2013-12-17 10 views
5

Mam obraz z dockerfile, który jest kontenerem konfiguracji, ale muszę utworzyć i uruchomić kontenery za pomocą interfejsu API REST funkcji docker. Problem polega na tym, że mam problem z ujawnieniem portu ssh. Usunąłem EXPOSE z pliku dockerfile i kompilowałem obraz.Tworzenie kontenerów interfejsu API REST i powiązań portów

Potem zrobiłem żądanie POST na/pojemniki/stworzyć z tego json:

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

Pojemnik został utworzony tak następnym kroku zacząłem go z tego POST życzenie /containers/$id/start z JSON:

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

Ale po sprawdzeniu kontenera nie widzę zmapowanych portów, więc kontener nie wyeksponował 22 na port hosta 11022. Używam wersji 0.7.1.

Czy ktoś może mi powiedzieć, co robię źle? Dzięki

PS: Przeglądu pojemnik: http://jsonblob.com/52b01e45e4b0439bc58ec8d4

+0

to masz do pracy mam dokładnie ten sam problem – shao

+0

No ja nie znalazłem obejście używać tylko Döcker wewnętrznej sieci LAN, a nie poddanych żadnej portów?. – eXPi

+0

Czy możesz zaktualizować do najnowszej wersji i sprawdzić, czy problem został rozwiązany? – Navid

Odpowiedz

0

Próbowałaś: {HostIp:"", HostPort:"11022"}?

1

(Przepraszam za opóźnienie w odpowiedzi, „wspólnota” postanowił podbić swoje pytanie)

Przy pomocy current 1.24 api, to wszystko odbywa się w pojemniku stworzenia. Trzeba zaliczyć tam następujące:

"HostConfig": { 
    "PortBindings": { "22/tcp": [{ "HostPort": "11022" }] }, 
    } 
Powiązane problemy