2013-12-17 6 views
5

मेरे पास डॉकरफाइल से छवि है, जो सेटअप कंटेनर है, लेकिन मुझे डॉकर रीस्ट एपीआई के साथ कंटेनर बनाने और शुरू करने की आवश्यकता है। समस्या यह है कि मुझे एसएसएच पोर्ट को उजागर करने में समस्या है। मैंने डॉकरफ़ाइल से EXPOSE को हटा दिया है, और छवि का निर्माण किया है।आरईएसटी एपीआई कंटेनर बनाने और पोर्ट बाइंडिंग

उसके बाद मैं पर पोस्ट अनुरोध किए गए/कंटेनर/इस json के साथ बनाने के लिए:

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

कंटेनर सफलतापूर्वक बनाया गया तो अगले कदम के रूप में मैं JSON के साथ इस POST अनुरोध /containers/$id/start के साथ शुरू कर दिया:

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

लेकिन कंटेनर का निरीक्षण करने के बाद मुझे मैप किए गए बंदरगाह दिखाई नहीं देते हैं, इसलिए कंटेनर 11022 पोर्ट होस्ट करने के लिए 22 का खुलासा नहीं करता है। मैं संस्करण 0.7.1 का उपयोग कर रहा हूं।

क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं? धन्यवाद

पुनश्च: निरीक्षण कंटेनर: http://jsonblob.com/52b01e45e4b0439bc58ec8d4

+0

आप यह काम करने के लिए मिलता किया मुझे लगता है मैं नहीं, मैंने पाया था कि वैकल्पिक हल केवल डोकर आंतरिक लैन उपयोग करने के लिए नहीं है, और किसी भी बंदरगाहों उजागर करने के लिए नहीं ठीक उसी समस्या – shao

+0

है?। – eXPi

+0

क्या आप नवीनतम संस्करण में अपग्रेड कर सकते हैं और देख सकते हैं कि समस्या हल हो जाती है या नहीं? – Navid

उत्तर

0

आप की कोशिश की: {HostIp:"", HostPort:"11022"}?

1

current 1.24 api साथ

(देर से उत्तर के लिए क्षमा याचना, "समुदाय" अपने प्रश्न टक्कर का फैसला किया), यह सब कंटेनर बनाने में किया जाता है। आप निम्नलिखित को शामिल करने की जरूरत है:

"HostConfig": { 
    "PortBindings": { "22/tcp": [{ "HostPort": "11022" }] }, 
    } 
संबंधित मुद्दे