2015-05-25 4 views
5

मुझे नहीं पता कि क्यों, लेकिन मुझे यह पता लगाना प्रतीत नहीं होता कि यह क्यों हो रहा है। मैं स्थानीय रूप से डॉकर छवि बना और चला सकता हूं।मुझे अनुमति क्यों मिल रही है डॉकर/aws eb पर त्रुटि से इनकार कर दिया?

हाल घटनाक्रम:

2015-05-25 12:57:07 UTC+1000 ERROR Update environment operation is complete, but with errors. For more information, see troubleshooting documentation. 
2015-05-25 12:57:07 UTC+1000 INFO New application version was deployed to running EC2 instances. 
2015-05-25 12:57:04 UTC+1000 INFO Command execution completed on all instances. Summary: [Successful: 0, Failed: 1]. 
2015-05-25 12:57:04 UTC+1000 ERROR [Instance: i-4775ec9b] Command failed on instance. Return code: 1 Output: (TRUNCATED)... run Docker container: vel="fatal" msg="Error response from daemon: Cannot start container 02c057b331bf3a3d912bf064f1dca3e00c95746b5748c3c4a28a5c6b452ff335: [8] System error: exec: \"bin/app\": permission denied" . Check snapshot logs for details. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/04run.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI. 
2015-05-25 12:57:03 UTC+1000 ERROR Failed to run Docker container: vel="fatal" msg="Error response from daemon: Cannot start container 02c057b331bf3a3d912bf064f1dca3e00c95746b5748c3c4a28a5c6b452ff335: [8] System error: exec: \"bin/app\": permission denied" . Check snapshot logs for details. 

Dockerfile:

FROM java:8u45-jre 
MAINTAINER Terence Munro <[email protected]> 
ADD ["opt", "/opt"] 
WORKDIR /opt/docker 
RUN ["chown", "-R", "daemon:daemon", "."] 
USER daemon 
ENTRYPOINT ["bin/app"] 
EXPOSE 9000 

Dockerrun.aws.json: https://forums.aws.amazon.com/thread.jspa?threadID=181270

किसी भी:

{ 
    "AWSEBDockerrunVersion": "1", 
    "Ports": [ 
    { 
     "ContainerPort": "9000" 
    } 
    ], 
    "Volumes": [] 
} 

में अनुलग्नक के रूप में अतिरिक्त लॉग मदद बेहद सराहना की है।


@nick-humricheb local run कोशिश कर के सुझाव काम किया। तो eb deploy का उपयोग कर काम खत्म हो गया।

मैं पहले वेब इंटरफ़ेस के माध्यम से अपलोड कर रहा था।

प्रारंभ में eb deploy का उपयोग करके मुझे ERROR: TypeError :: data must be a byte string दे रहा था, लेकिन मुझे यह issue मिला जो कि Pyopenssl को अनइंस्टॉल करके हल किया गया था।

तो मुझे नहीं पता कि वेब इंटरफ़ेस मुझे ज़िप फ़ाइल के साथ कुछ करने की अनुमति क्यों दे रहा था?

लेकिन फिर भी मैं अब तैनात करने में सक्षम हूं धन्यवाद।

+1

आप इसे स्थानीय स्तर पर 'ईबी स्थानीय run' शुरू करने की कोशिश की है? –

+0

मुझे नहीं पता था कि आप ऐसा कर सकते हैं, इसलिए यह अच्छा है लेकिन हाँ यह स्थानीय रूप से 'ईबी स्थानीय रन' का उपयोग करके काम करता है .. फिर भी जब मैं इसे अपलोड करता हूं तो अनुमति अस्वीकार हो जाती है :( – terrymunro

+0

बिन/ऐप क्या है? मुझे लगता है कि यह एक निष्पादन योग्य है लेकिन जब आप अपलोड करते हैं (एक ज़िप के रूप में), यह अनुमति बिट्स को खो देता है। आप जिस सिस्टम को स्थानीय रूप से उपयोग कर रहे हैं वह क्या है? इसे प्रोग्राम के साथ चलाने के बारे में क्या है जिसे इसे निष्पादित करना है। ENTRYPOINT ["/ bin/bash", " बिन/ऐप "] बैश स्क्रिप्ट के मामले में। – Samar

उत्तर

1

मुझे एलैस्टिक बीनस्टॉक पर डॉकर चलाने में एक ही समस्या थी। जब मैं एक खोल स्क्रिप्ट (/path/to/my_script.sh) को Dockerfile में अध्यक्ष एवं प्रबंध निदेशक ने कहा, ईबी तैनाती /path/to/my_script.sh: Permission denied.

जाहिर साथ विफल हो जाएगा, भले ही मैं डोकर दौरान RUN chmod +x /path/to/my_script.sh समाप्त हो चुकी थी निर्माण, समय छवि चलाया गया, अनुमतियों से बदल दिया गया था। अंत में, यह काम मैं पर बसे बनाने के लिए:

CMD ["/bin/bash","-c","chmod +x /path/to/my_script.sh && /path/to/my_script.sh"]

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