डॉकटर में डिफ़ॉल्ट काम क्या है?


85

हम WORKDIRकिसी निर्देशिका को कार्य निर्देशिका के रूप में सेट करने के लिए उपयोग कर सकते हैं Dockerfile, लेकिन यदि हम सेट नहीं करते हैं तो डिफ़ॉल्ट मान क्या है?


2
बस के साथ एक एकल लाइन Dockerfile पर अमलRUN pwd
kilgoretrout

जवाबों:



31

डिफ़ॉल्ट वास्तव /में कहीं और के रूप में कहा गया है। हालांकि, यह ध्यान देने योग्य है कि आप लगभग कभी भी खाली डॉक इमेज ( FROM scratch) से नहीं चलेंगे , इसलिए WORKDIRयह संभव है कि आपके द्वारा उपयोग की जा रही बेस इमेज द्वारा सेट किया गया हो।

उदाहरण के लिए, https://github.com/docker-library/tomcat/blob/master/Dockerfile-alpine.template के पास WORKDIR $CATALINA_HOME, और https://github.com/dockerfile/ubuntu/bbb/master/Dockerfile है WORKDIR /root। ( https://hub.docker.com/r/base/archlinux/~/dockerfile/WORKDIR हालांकि उपयोग नहीं करता है ।)

इसलिए, अपना स्वयं का WORKDIRस्पष्ट रूप से सेट करना सबसे अच्छा है ।


13

एक कंटेनर के भीतर बायनेरिज़ चलाने के लिए डिफ़ॉल्ट कार्यशील निर्देशिका रूट निर्देशिका ( /) है, लेकिन डेवलपर डॉकरीफाइल वर्ककंड कमांड के साथ एक अलग निर्देशिका सेट कर सकता है। ऑपरेटर इसके साथ ओवरराइड कर सकता है:

-w="": Working directory inside the container

यहाँ: https://docs.docker.com/engine/reference/run/#workdir


6

के रूप में वहाँ कोई उपयोगकर्ता नहीं हैं, लेकिन सिर्फ एक जन्मजात डॉकटर या कंटेनर में एक रूट सख्ती से बोल रहा है। इसलिए, हर परिवर्तन के लिए उस कंटेनर के लिए एक प्रतिबद्धता होगी जैसा कि इस लड़के ने कहा। इसलिए, जैसा कि आपने पूछा है कि काम करने वाला व्यक्ति / डिफ़ॉल्ट रूप से मूल है और हर बार जब आप /bin/bashइस तरह से निष्पादित करते हैं:

$docker exec -i -t 53f784fwer54 /bin/bash

एक चल रहे कंटेनर पर यह आपको /रूट डायर में डाल देगा ।


आपका उत्तर केवल विषय नहीं है, यह केवल स्पष्ट गलत है। सबसे पहले, प्रश्न यह है: यदि किसी डॉकफ़ायर में स्पष्ट रूप से सेट नहीं किया गया है, तो एक छवि का डिफ़ॉल्ट कार्य क्या है। आपका उत्तर यह कहना कि नए CONTAINER का डिफ़ॉल्ट कार्यदिवस /गलत और अप्रासंगिक है। नए कंटेनर का डिफॉल्ट वर्कडिर इमेज के डिफॉल्ट वर्कडिर के समान होता है। उदाहरण के लिए, मैं अभी docker exec -ti <my_app> /bin/bash;नई बैश प्रक्रिया में भाग गया pwd, और मैं देखता हूं कि काम करने वाली निर्देशिका है /app
सीमित प्रायश्चित
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.