आदेशों हैं adduser
और addgroup
।
यहां डॉकर के लिए एक टेम्प्लेट है जिसे आप व्यस्त वातावरण (अल्पाइन) के साथ-साथ डेबियन-आधारित वातावरण (उबंटू, आदि) में उपयोग कर सकते हैं:
ENV USER=docker
ENV UID=12345
ENV GID=23456
RUN adduser \
--disabled-password \
--gecos "" \
--home "$(pwd)" \
--ingroup "$USER" \
--no-create-home \
--uid "$UID" \
"$USER"
निम्नलिखित पर ध्यान दें:
--disabled-password
एक पासवर्ड के लिए संकेत रोकता है
--gecos ""
डेबियन आधारित प्रणालियों पर "पूर्ण नाम" आदि के लिए संकेत देता है
--home "$(pwd)"
उपयोगकर्ता के घर पर काम करता है। आप ऐसा नहीं चाह सकते हैं।
--no-create-home
cruft को निर्देशिका में कॉपी होने से रोकता है /etc/skel
इन अनुप्रयोगों के लिए उपयोग वर्णन है लापता लंबे झंडे के लिए कोड में मौजूद adduser और addgroup ।
निम्नलिखित दीर्घ-रूप झंडे को अल्पाइन के साथ-साथ डेबियन-डेरिवेटिव दोनों में काम करना चाहिए:
उपयोगकर्ता जोड़ें
BusyBox v1.28.4 (2018-05-30 10:45:57 UTC) multi-call binary.
Usage: adduser [OPTIONS] USER [GROUP]
Create new user, or add USER to GROUP
--home DIR Home directory
--gecos GECOS GECOS field
--shell SHELL Login shell
--ingroup GRP Group (by name)
--system Create a system user
--disabled-password Don't assign a password
--no-create-home Don't create home directory
--uid UID User id
एक बात का ध्यान रखें कि यदि --ingroup
सेट नहीं किया जाता है तो GID को UID से मिलान करने के लिए असाइन किया गया है। यदि प्रदान की गई UID के अनुरूप GID पहले से मौजूद है तो एड्यूसर विफल हो जाएगा।
समूह जोड़ें
BusyBox v1.28.4 (2018-05-30 10:45:57 UTC) multi-call binary.
Usage: addgroup [-g GID] [-S] [USER] GROUP
Add a group or add a user to a group
--gid GID Group id
--system Create a system group
मेजबान यूआईडी / जीआईडी के रूप में कंटेनर चलाने के लिए फिक्सड प्रोजेक्ट के लिए अपना खुद का विकल्प लिखने की कोशिश करते हुए मैंने यह सब खोजा ।
GitHub पर मेरी प्रविष्टि की सहायक स्क्रिप्ट मिल सकती है।
अभिप्राय उस स्क्रिप्ट को पहले तर्क के रूप में ENTRYPOINT
प्रस्तुत करना है, जिसके लिए डोकर को यूआईडी से संबंधित होना चाहिए और जीआईडी को एक प्रासंगिक बिंदु से माउंट करना चाहिए।
एक पर्यावरण चर "TEMPLATE" को यह निर्धारित करने की आवश्यकता हो सकती है कि अनुमतियों को कहां से हटाया जाना चाहिए।
(लेखन के समय मेरे पास अपनी स्क्रिप्ट के लिए प्रलेखन नहीं है। यह अभी भी टूडू सूची में है !!)
USER 405
जो अल्पाइन लिनक्स के भीतर अतिथि उपयोगकर्ता है।