दस्तावेज़
Docker
IMPORTANT NOTE
दुर्भाग्य से हाल के दिनों में हमारे Docker निर्माण को बनाए रखा नहीं गया है और यह प्रलेखन इरादा के रूप में काम नहीं करता है। कृपया देखें मार्कोस's नीचे पोस्ट मौजूदा मुद्दों के दौर के लिए - संभावित समाधानों के साथ। मुद्दा हमारे मुद्दे ट्रैकर पर दर्ज किया गया है और उम्मीद है कि हम जल्द ही स्थिति को हल करने में सक्षम होंगे। यदि आपके पास मदद करने के लिए अधिक जोड़ने या एक स्थिति में हैं, तो इनपुट हमेशा स्वागत किया जाता है।
यह पृष्ठ बताता है कि कैसे उपयोग किया जाए Docker निर्माण TurnKey Linux सर्वरTurnKey Docker builds का उपयोग करने के लिए आपको एक मेजबान प्रणाली की आवश्यकता होती है। Docker स्थापितयदि आप Docker को मौजूदा TurnKey सर्वर पर स्थापित करना चाहते हैं, तो कृपया परामर्श करें Debian के लिए निर्देश (TurnKey v15.x = Debian 9 / tretch)।
कृपया ध्यान दें कि ये "पूर्ण ओएस" शैली के कंटेनर हैं, बल्कि "आवेदन" शैली के कंटेनरों के बजाय कई Docker उपयोगकर्ता सामान्य रूप से उम्मीद कर सकते हैं। इस तरह, ये कंटेनर पूर्ण TurnKey (Debian आधारित) OS प्रदान करते हैं और अन्य सभी सॉफ्टवेयर घटकों को शामिल करते हैं। वैकल्पिक TurnKey सर्वर डाउनलोड विकल्प (जैसे ISO, आदि) वे पर्यावरण को अधिक पसंद करते हैं LXC कंटेनर उपयोगकर्ता की उम्मीद हो सकती है, लेकिन Docker पर चलाने के लिए आशावादी है।
यह पृष्ठ मूल के अद्यतन और बेहतर संस्करण है। Docker घोषणा का निर्माण करता है.
Docker builds
ये TurnKey हैं जो docker कंटेनरों के रूप में चलाने के लिए अनुकूलित हैं, docker सार्वजनिक सूचकांक के माध्यम से स्वचालित डाउनलोड का समर्थन करते हैं।
सभी TurnKey सर्वर पर उपलब्ध हैं Docker हब (आम तौर पर प्रदान किया जाता है) Docker, Incउदाहरण के लिए, जो तैनाती को सुव्यवस्थित करता है।
docker pull turnkeylinux/core docker run -i -t -d turnkeylinux/core
Docker कंटेनरों को अग्रभूमि या पृष्ठभूमि में चलाया जा सकता है, इसलिए हमने प्रारंभिककरण (उन्हें) के संबंध में सभी उपयोग मामलों का समर्थन करने की पूरी कोशिश की है। inithooks) - गुप्त पुनर्जनन, पासवर्ड की सेटिंग, अनुप्रयोग विन्यास आदि।
आपके उपयोग के मामले के आधार पर, हम दो विकल्पों की सिफारिश करते हैं:
विकल्प 1: एसएसएच (इंटरएक्टिव) के माध्यम से आरंभीकरण
पहले लॉगिन पर आपको सर्वर को शुरू करने के लिए प्रेरित किया जाएगा।
CID=$(docker run -i -t -d turnkeylinux/core)
CIP=$(docker inspect --format='{{.NetworkSettings.IPAddress}}' $CID)
docker logs $CID | grep "Random initial root password"
ssh root@$CIP
विकल्प 2: पूर्ववर्ती मूल्यों (गैर-इंटरएक्टिव) के साथ नई छवि बनाएं
सर्वर प्रदान किए गए विन्यास के साथ खुद को शुरू करेगा। एक बार प्रारंभिकीकृत होने के बाद, कॉन्फ़िगरेशन को हटा दिया जाएगा। अधिक जानकारी के लिए देखें inithooks.
उपयोग करने के लिए WordPress उदाहरण के रूप में:
mkdir /root/wordpress cat > /root/wordpress/inithooks.conf <<EOF export ROOT_PASS=secretrootpass export DB_PASS=secretmysqlpass export APP_PASS=secretadminwppass export APP_EMAIL=admin@example.com export APP_DOMAIN=www.example.com export HUB_APIKEY=SKIP export SEC_UPDATES=FORCE EOF cat > /root/wordpress/Dockerfile <<EOF FROM turnkeylinux/wordpress ADD inithooks.conf /etc/inithooks.conf EOF docker build -t wordpress /root/wordpress docker run -i -t -d wordpress
नोट
Docker टैग और विभिन्न TurnKey संस्करणों को खींचने / चलाने
TurnKey v15.0 से पहले, प्रत्येक व्यक्ति TurnKey सर्वर Docker बिल्ड रिलीज़ में TurnKey संस्करण शामिल था। उदाहरण के लिए, E.g. v14.2 TurnKey Core was on the Docker Hub as "turnkeylinux/core-14.2". So if you wish to use older TurnKey servers (<15.0) then you will need to include the specific version number as part of the name. E.g. to pull and run TurnKey Core v14.2:
docker pull turnkeylinux/core-14.2 docker run -i -t -d turnkeylinux/core-14.2
हालांकि v15.0+ के रूप में, हम Docker टैग का उपयोग हमारे सर्वर के विभिन्न संस्करणों को उपलब्ध कराने के बेहतर तरीके के रूप में कर रहे हैं। टैग (वैकल्पिक रूप से) निर्दिष्ट किया जा सकता है जब docker कमांडलाइन टूल का उपयोग करके कॉलोन (:) और टैग नाम को लागू किया जा सकता है। "latest" टैग हमेशा नवीनतम अद्यतन को इंगित करता है, और यदि कोई टैग निर्दिष्ट नहीं है, तो "latest" माना जाता है। तो TurnKey core की नवीनतम रिलीज को खींचने और चलाने के लिए, आप इन उदाहरणों में से किसी का उपयोग कर सकते हैं:
docker pull turnkeylinux/core docker run -i -t -d turnkeylinux/core
यदि आप क्रिया करना चाहते हैं तो:
docker pull turnkeylinux/core:latest docker run -i -t -d turnkeylinux/core:latest
यदि आप एक विशिष्ट रिलीज (>=15.0) डाउनलोड करना चाहते हैं तो आप वांछित संस्करण को टैग के रूप में निर्दिष्ट कर सकते हैं। Drupal 8 उदाहरण के रूप में सर्वर, यदि आप v15.4 संस्करण को खींचने और चलाने की इच्छा रखते हैं, तो आप ऐसा कर सकते हैं:
docker pull turnkeylinux/drupal8:15.4 docker run -i -t -d turnkeylinux/drupal8:15.4
पूर्व-configured रन कमांड
Docker को "आवेदन या प्रक्रिया" कंटेनरों के लिए डिज़ाइन किया गया है - उदाहरण के लिए, mysql चला रहा है, और केवल mysql चला रहा है। Docker शॉर्ट-सर्किट /sbin/init इसलिए आप वास्तव में "बूट" कंटेनर की तरह नहीं कर सकते वेनिला LXC.
इसके आसपास काम करने के लिए, हमने इसमें शामिल किया है /usr/sbin/start.sh(डिफ़ॉल्ट रन कमांड) जो सभी सेवाओं को शुरू करेगा और एक खोल में छोड़ देगा। जब खोल बाहर निकल जाता है, तो सेवाओं को रोका जाएगा। इस कारण से, SSH को नियमित कंसोल उपयोग के लिए अनुशंसित किया जाता है।
STDIN और TTY विकल्प की आवश्यकता है
-i और -t विकल्प STDIN संलग्न करने के लिए और कंटेनर के लिए TTY आवंटित करने के लिए आवश्यक हैं। Docker द्वारा इसको पूर्व-configured बनाने की अनुमति देने के लिए कदम उठाए गए हैं लेकिन हम अभी तक उस में गहरी नहीं दिख रहे हैं और खेल की hte वर्तमान स्थिति पर तारीख तक नहीं रहे हैं।
पोर्ट को उजागर करने के लिए पूर्व-configured
सभी TurnKey Docker सर्वरों को अपनी कस्टम सेवाओं को उजागर करने के लिए कॉन्फ़िगर किया गया है। इसका मतलब यह है कि होस्ट सेवाओं तक पहुंच सकता है, लेकिन वे नेटवर्क के संपर्क में नहीं हैं।
नेटवर्क के लिए बंदरगाहों को उजागर करने के लिए रनटाइम पर किया जाना चाहिए ()docउदाहरण के लिए:
# bind port 80 on the host to the container's port 80 docker run -i -t -d -p 80:80 turnkeylinux/lamp
या एक वैकल्पिक होस्ट पोर्ट का उपयोग करने के लिए:
# bind port 8080 on the host to the container's port 80 docker run -i -t -d -p 0.0.0.0:8080:80 turnkeylinux/lamp
पहले बूट पर सुरक्षा अद्यतन छोड़ें
विकास के दौरान परीक्षण को गति देने के लिए, डिफ़ॉल्ट SEC_UPDATES मान को ओवरराइड करने के लिए समर्थन शुरू करने के लिए जोड़ा गया था। यह इस समर्थन को हटाने या इसे छोड़ने की योजना बनाई गई थी, लेकिन हमने निर्णय लिया कि परीक्षण करते समय दूसरों को यह उपयोगी लग सकता है (और केवल परीक्षण में!)।
# THIS IS NOT RECOMMENDED, USE AT YOUR OWN RISK! docker run -i -t -d -e SEC_UPDATES=SKIP turnkeylinux/openldap