2017-02-12 11 views
13

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker_image.html#docker-singlecontainer-dockerrun-privaterepoS3 के माध्यम से

लचीला बीनस्टॉक से एक निजी डोकर हब कंटेनर से कनेक्ट करने के लिए यहाँ निर्देशों का पालन लचीला बीनस्टॉक में डोकर को प्रमाणित नहीं किया जा सकता है, लेकिन यह हठ काम करने के लिए मना कर दिया। यह जब डोकर 1.12 परिणामी फ़ाइल कोई ईमेल संपत्ति है में docker login बुला की तरह लगता है, लेकिन यह लग रहा है एडब्ल्यूएस की तरह उम्मीद है यह तो मुझे लगा कि इस तरह दिखता है एक फ़ाइल dockercfg.json बनाएं जिसका नाम:

{ 
    "https://index.docker.io/v1/": { 
     "auth": "Y2...Fz", 
     "email": "[email protected]" 
    } 
} 

के प्रासंगिक टुकड़ा मेरी Dockerrun.aws.json फ़ाइल इस तरह दिखता है:

"Authentication": { 
    "Bucket": "elasticbeanstalk-us-west-2-9...4", 
    "Key": "dockercfg.json" 
    }, 

और मैं S3 बाल्टी के रूट पर अपलोड की गई फ़ाइल की है। मुझे अभी भी त्रुटियां क्यों मिलती हैं जो Error: image c...6/w...t:23 not found. Check snapshot logs for details. कहती हैं मुझे यकीन है कि नाम सही हैं और यह सार्वजनिक भंडार होने पर यह काम करेगा। पूर्ण त्रुटि नीचे है। मैं सर्कल सीआई के साथ गिटहब से तैनात कर रहा हूं यदि इससे कोई फर्क पड़ता है, तो कोई अन्य जानकारी प्रदान करने में खुशी होती है।

INFO: Deploying new version to instance(s).       
WARN: Failed to pull Docker image c...6/w...t:23, retrying... 
ERROR: Failed to pull Docker image c...6/w...t:23: Pulling repository docker.io/c...6/w...t 
Error: image c...6/w...t:23 not found. Check snapshot logs for details. 
ERROR: [Instance: i-06b66f5121d8d23c3] Command failed on instance. Return code: 1 Output: (TRUNCATED)...b-project 
Error: image c...6/w...t:23 not found 
Failed to pull Docker image c...6/w...t:23: Pulling repository docker.io/c...6/w...t 
Error: image c...6/w...t:23 not found. Check snapshot logs for details. 
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI. 
INFO: Command execution completed on all instances. Summary: [Successful: 0, Failed: 1]. 
ERROR: Unsuccessful command execution on instance id(s) 'i-06b66f5121d8d23c3'. Aborting the operation. 
ERROR: Failed to deploy application.         

ERROR: Failed to deploy application. 

संपादित करें: यहां पूर्ण डॉकरुन फ़ाइल है। ध्यान दें कि% BUILD_NUM% केवल एक int है, मैं उस कार्य को सत्यापित कर सकता हूं।

{ 
    "AWSEBDockerrunVersion": "1", 
    "Authentication": { 
    "Bucket": "elasticbeanstalk-us-west-2-9...4", 
    "Key": "dockercfg.json" 
    }, 
    "Image": { 
    "Name": "c...6/w...t:%BUILD_NUM%", 
    "Update": "true" 
    }, 
    "Ports": [ 
    { 
     "ContainerPort": "8080" 
    } 
    ] 
} 

संपादित करें: इसके अलावा, मैं पुष्टि कर लें कि यह काम करता है अगर मैं इस डोकर हब कंटेनर सार्वजनिक करें।

+0

क्या आप संपूर्ण Dockerrun.aws.json फ़ाइल पोस्ट कर सकते हैं? – sap1ens

+0

हाँ धन्यवाद, बस – CamJohnson26

+0

सबकुछ सही लगता है। क्या आप पुष्टि कर सकते हैं कि ईबी को उस एस 3 बाल्टी तक पहुंचने के लिए आईएएम अनुमतियों की आवश्यकता है? – sap1ens

उत्तर

4

ठीक है, चलिए यह करते हैं;

{ 
    "server" : 
    { 
    "auth" : "auth_token", 
    "email" : "email" 
    } 
} 
:

समान दस्तावेज़ पेज को देखते हुए,

डोकर संस्करण 1.6.2 के साथ

और पहले, डोकर लॉगिन आदेश निम्न स्वरूप में ~/.dockercfg में प्रमाणीकरण फ़ाइल बनाता है

आपको पहले से ही यह हिस्सा सही मिला है। कृपया नीचे दिए गए मामलों को एक-एक करके जांचें;

1) क्या आप उसी क्षेत्र में एस 3 बाल्टी होस्ट कर रहे हैं?

अमेज़ॅन एस 3 बाल्टी उसी क्षेत्र में पर्यावरण के रूप में होस्ट किया जाना चाहिए जो इसका उपयोग कर रहा है। लोचदार बीनस्टॉक अन्य क्षेत्रों में होस्ट की गई अमेज़ॅन एस 3 बाल्टी से फ़ाइलों को डाउनलोड नहीं कर सकता है।

2) क्या आपने आवश्यक अनुमतियां जांच ली हैं?

S3 के लिए

अनुमति दें: उदाहरण प्रोफ़ाइल में IAM भूमिका के लिए GetObject आपरेशन। विवरण के लिए, Managing Elastic Beanstalk Instance Profiles देखें।

3) क्या आपको अपनी कॉन्फ़िगरेशन फ़ाइल में अपनी एस 3 बाल्टी जानकारी मिली है? (मुझे लगता है कि आप यह भी मिल गया)

Authentication (v1) में अमेज़न S3 बाल्टी जानकारी या authentication (v2) अपने Dockerrun.aws.json फ़ाइल में पैरामीटर डालें।

आपकी अनुमतियां या आपके एनवी क्षेत्र को नहीं देख पा रहा है, तो कृपया उनको दोबारा जांचें। यदि यह काम नहीं करता है, तो मैं संभवतः डॉकर 1.7+ में अपग्रेड कर दूंगा और इसी ~/.docker/config.json शैली का उपयोग करूँगा।

+1

सुझावों के लिए धन्यवाद, दुख की बात है कि मैंने 2 Dockerrun.aws.json फ़ाइलों और गलत संपादन को संपादित करने की बेवकूफ गलती की, क्योंकि मुझे कोई समस्या नहीं थी, इससे कोई फर्क नहीं पड़ता कि मैंने वास्तव में कभी दोबारा जांच नहीं की थी। सभी अब हल हो गए। – CamJohnson26

संबंधित मुद्दे