2015-09-04 11 views
5

से कंटेनर में यूआईडी/जीआईडी ​​को दोहराने के लिए डॉकर कंटेनर बनाते समय मैं कंटेनर में दिखाई नहीं दे रहा यूआईडी/जीआईडी ​​के मुद्दे में चल रहा हूं (मुझे एहसास है कि यह डिज़ाइन द्वारा है)। जो मैं खोज रहा हूं वह मेजबान अनुमतियों को उचित और/या मेरे डॉकर कंटेनर में मेजबान उपयोगकर्ता/समूह खातों से यूआईडी/जीआईडी ​​को दोहराने का एक तरीका है। उदाहरण के लिए:डॉकर मेजबान

मेजबान -

woot4moo: x: 504: 504: woot4moo:/घर/woot4moo:/bin/bash

मैं डोकर कंटेनर में यह एक ही व्यवहार करना चाहते हैं। कहा जा रहा है, क्या यह इस तरह की चीज करने का सही तरीका है? मेरे विश्वास मैं बस चला सकते है:

useradd -u 504 -g 504 woot4moo 

मेरी Dockerfile के हिस्से के रूप है, लेकिन मुझे लगता है कि यदि मान्य है यकीन नहीं है।

उत्तर

5

आप को चलाने के लिए उस छवि निर्माण प्रक्रिया (आपका Dockerfile में) के हिस्से के रूप, क्योंकि मेजबान जिस पर किसी को एक कंटेनर चल रहा है अक्सर नहीं मेजबान आप छवि का निर्माण कर रहे हैं, जिस पर है नहीं करना चाहते।

इस के हल के लिए एक तरह से वातावरण चर के माध्यम से यूआईडी/GID जानकारी में गुजर रहा है:

useradd -c 'container user' -u $APP_UID -g $APP_GID appuser 
chown -R $APP_UID:$APP_GID /app/data 
:

docker run -e APP_UID=100 -e APP_GID=100 ... 

और फिर एक ENTRYPOINT स्क्रिप्ट CMD चलाने से पहले निम्नलिखित की तरह कुछ भी शामिल है

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