सभी मुझे मिल सकता है डॉकटर हब पर उबंटू डेस्कटॉप के लिए एक आधिकारिक डॉकर छवि है । क्या उबंटू सर्वर के लिए एक नहीं है?
क्या इसका मतलब है, मुझे अपनी आधार छवि का उपयोग करके बनाना होगाscratch
?
सभी मुझे मिल सकता है डॉकटर हब पर उबंटू डेस्कटॉप के लिए एक आधिकारिक डॉकर छवि है । क्या उबंटू सर्वर के लिए एक नहीं है?
क्या इसका मतलब है, मुझे अपनी आधार छवि का उपयोग करके बनाना होगाscratch
?
जवाबों:
सभी मुझे मिल सकता है डॉकटर हब पर उबंटू डेस्कटॉप के लिए एक आधिकारिक डॉकर छवि है ।
कहीं भी वह पेज यह नहीं कहता कि यह उबंटू डेस्कटॉप इमेज है। वैसे भी, इससे कोई मतलब नहीं होगा क्योंकि आप (आम तौर पर) डॉकटर कंटेनर में डेस्कटॉप वातावरण नहीं चलाते हैं।
आप इसका परीक्षण कर सकते हैं, पहले उबंटू कंटेनर में बैश चला सकते हैं:
docker run -it ubuntu /bin/bash
-i
,--interactive
संलग्न न होने पर भी STDIN को खुला रखें
-t
,--tty
एक छद्म-TTY आवंटित करें
फिर ubuntu-desktop
स्थापित करने के लिए जाँच करने के लिए निम्नलिखित कमांड चलाएँ :
dpkg -l ubuntu-desktop
प्रश्न उबंटू सर्वर के बारे में था, लेकिन सभी उत्तर और चर्चा उबंटू डेस्कटॉप के बारे में थी। तो मैं दोनों का उत्तर दूंगा, लेकिन पहले उबंटू डेस्कटॉप का पता। अंत में, (और संभावित रूप से एक अल्पकालिक कंटेनर के लिए अनुशंसित नहीं है , और अधिकांश कंटेनरों को डॉकर्स की सर्वोत्तम प्रथाओं के अनुसार प्रतिमान होना चाहिए , लेकिन हे, इसके अपवाद हैं।) आप एक कंटेनर पर उबंटू डेस्कटॉप और उबंटू सर्वर स्थापित कर सकते हैं और इसे चला सकते हैं।
नोट:--rm
यदि आप केवल उनके साथ प्रयोग कर रहे हैं, तो आप स्वचालित रूप से कंटेनरों को हटाकर अपने मेजबान के भंडारण को ब्लोटिंग से रखने केलिएध्वज कोजोड़ सकते हैं।
docker run --rm -it ubuntu
यह एक बहुत बड़ा कंटेनर है! ~ १.५ ग्रा
यदि आप चलाते हैं:
docker run -it ubuntu
फिर, कंटेनर में:
> apt-get update && apt-get install -y ubuntu-desktop
आप उबंटू डेस्कटॉप को प्रभावी रूप से डाउनलोड करेंगे
एक डॉकरफाइल बनाया जा सकता है:
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-desktop
फिर इसका निर्माण करें:
docker build -t ubuntu-desktop .
और इसे चलाएं:
docker run -it ubuntu-desktop
docker run -it ubuntu
कंटेनर टर्मिनल से:
apt-get update && apt-get install -y ubuntu-server
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-server
इसे बनाओ:
docker build -t ubuntu-server .
चलाओ:
docker run -it ubuntu-server
docker run -it ubuntu
कंटेनर का टर्मिनल:
apt-get update && apt-get install -y ubuntu-server ubuntu-desktop
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-server ubuntu-desktop
इसे बनाओ:
docker build -t ubuntu-server-desktop .
चलाओ:
docker run -it ubuntu-server-desktop.
वे क्लाउडिम फ़ाइलों के साथ आधार के रूप में शुरू करते हैं।
यदि आप यहाँ पर क्लाउड इमेज के लिए मैनिफ़ेस्ट को देखते हैं तो ऐसा लगता है कि यह सर्वर परिनियोजन बेस इमेज है।
IMHO, ubuntu डेस्कटॉप ज्यादातर सिर्फ ubuntu server
+ है desktop environment
। आधिकारिक रेपो ओपी ने कहा कि डेस्कटॉप वातावरण के साथ कोई भी चित्र शामिल नहीं है, इसलिए आपको उन्हें सर्वर संस्करणों के रूप में व्यवहार करना चाहिए।
न्यूनतावादी के लिए, मैं वर्तमान में gcr.io/google_containers/ubuntu-slim:0.14
अपनी व्यक्तिगत परियोजना के लिए उपयोग करता हूं। यह केवल 1/3 उन आधिकारिक छवियों के आकार के साथ एक न्यूनतम लेकिन पूरी तरह से कार्य करने वाली ubuntu छवि है।
घनबरी उत्तर को और स्पष्ट करने के लिए। यहाँ कमांड का आउटपुट है। निश्चित रूप से डेस्कटॉप के बारे में कोई पैकेज नहीं।
> docker pull ubuntu:latest
> docker run -t -i ubuntu /bin/bash
> dpkg -l ubuntu-desktop
> dpkg-query: no packages found matching ubuntu-desktop
apt-get update
।
डॉकर का उपयोग करके एक विशिष्ट उबंटू संस्करण चलाने के लिए, इस कमांड को चलाएं:
docker run -it ubuntu:16.04 /bin/bash
16.04 संस्करण संख्या है। यदि आप संस्करण संख्या को छोड़ते हैं, तो नवीनतम छवि भंडार से ली जाएगी। आपको संपूर्ण डॉकरीफाइल प्राप्त करने और इसे खरोंच से बनाने की आवश्यकता नहीं है।