होस्ट मशीन पर डॉकर चित्र कहाँ संग्रहीत हैं?


874

मैं निर्देशिका के तहत कंटेनरों को खोजने में कामयाब रहा /var/lib/docker/containers, लेकिन मैं चित्र नहीं ढूंढ सकता।

निर्देशिका और फ़ाइलों के अंतर्गत क्या हैं /var/lib/docker?


2
ऐसे मामलों में प्रश्न शीर्षक और / या प्रश्नों के बयान में ऑपरेटिंग सिस्टम की बारीकियों को बताने के लिए सबसे अच्छा है। लिनक्स और मैकओएस (मैक ओएस एक्स) के लिए दो अच्छे उत्तर दिए गए थे।
वेबेल आईटी ऑस्ट्रेलिया - अपवित्र

जवाबों:


637

/var/lib/dockerनिर्देशिका की सामग्री ड्राइवर के आधार पर अलग-अलग होती है जो डोकर स्टोरेज के लिए उपयोग कर रहा है

डिफ़ॉल्ट रूप से यह हो जाएगा aufs, लेकिन करने के लिए वापस गिर सकता है overlay, overlay2, btrfs, devicemapperया zfsअपने कर्नेल समर्थन पर निर्भर करता है। ज्यादातर जगहों पर यह होगा aufsलेकिन रेडहेट्स साथ गए थेdevicemapper

आप मैन्युअल रूप से भंडारण ड्राइवर को -sया --storage-driver=डॉकर डेमॉन के विकल्प के साथ सेट कर सकते हैं ।

  • /var/lib/docker/{driver-name} छवियों की सामग्री के लिए ड्राइवर विशिष्ट संग्रहण समाहित करेगा।
  • /var/lib/docker/graph/<id>अब केवल छवि jsonऔर layersizeफ़ाइलों में मेटाडेटा शामिल है ।

के मामले में aufs:

  • /var/lib/docker/aufs/diff/<id> छवियों की फ़ाइल सामग्री है।
  • /var/lib/docker/repositories-aufsएक JSON फ़ाइल है जिसमें स्थानीय छवि जानकारी है। इसे कमांड के साथ देखा जा सकता है docker images

के मामले में devicemapper:

  • /var/lib/docker/devicemapper/devicemapper/data छवियों को संग्रहीत करता है
  • /var/lib/docker/devicemapper/devicemapper/metadata मेटाडेटा
  • ध्यान दें कि ये फाइलें "स्पर्स" की तरह पतली हैं।

1
क्या मैं सामग्री को किसी तरह से बढ़ाकर देख सकता हूं?
आर.वी.

1
यदि आप स्टोरेज ड्राइवर सेट करते हैं, तो यह पहले से ही चल रहा है और इसमें छवियों के साथ कुछ चलने वाले कंटेनर हैं, तो क्या यह डेमॉन के अगले पुनरारंभ पर तारीख को माइग्रेट करेगा? यदि नहीं, तो इस मामले में भंडारण चालक को कैसे संशोधित किया जाए?
BTR नायडू


91
अपने आप को एक एहसान करो और "चूक की जांच" मत करो। अपने सेटअप के लिए विशिष्टdocker info वास्तविक स्थान का उपयोग करें और खोजें ।
ब्रूनो ब्रोंस्की

5
ऐसा लगता है कि बदल गया है। मैं Docker for Mac1.5 जीबी की 2 छवियों का उपयोग कर रहा हूं और जिनकी /var/libकोई निर्देशिका नहीं है docker
मिगेलमोरिन

298

मैक एप्लिकेशन के लिए डॉकर का उपयोग करते समय, ऐसा प्रतीत होता है कि कंटेनर वीएम में स्थित हैं:

~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

अद्यतन (सौजन्य mmorin के ):

15 जनवरी 2019 तक ऐसा लगता है कि केवल यह फाइल है:

~/Library/Containers/com.docker.docker/Data/vms/0/Docker.raw

जिसमें डॉकर डिस्क और उसके भीतर सभी चित्र और कंटेनर शामिल हैं।


7
यह सब छवियों (जैसे के लिए स्थान है ubuntu, nginx), या यह सब कंटेनरों के लिए स्थान है? मूल प्रश्न छवियों के लिए पूछते हैं , कंटेनर नहीं ...
सियु चिंग पोंग -असुका केंजी-

2
यदि आप यह ध्यान रखते हैं कि डॉकटर अभी भी एक वीएम में चल रहा है, तो सिस्टम पथ वीएम के सापेक्ष हैं और मैक ओएससी सिस्टम से नहीं। इस कमांड को आज़माएं: docker run --rm -it -v /: / vm-root अल्पाइन: एज ls -l / vm-root nad इसके बाद: docker run --rm -it -v /: / vm-root अल्पाइन: एज ls -l / vm-root / var / lib / docker आप WM होस्ट से
डॉक

3
ऐसा लगता है कि बदल गया है। मैं Docker for Mac1.5 जीबी की दो छवियों के साथ उपयोग कर रहा हूं और ~/Library/Containers/Data/com.docker.docker/Dataकोई निर्देशिका नहीं है com.docker.driver.amd64-linuxऔर एकमात्र बड़ी फाइल vms/0/Docker.raw3.6 जीबी के साथ है।
मिगेलमोरिन

1
क्या qcow2 या रॉ का उपयोग किया गया है, यह इस बात पर निर्भर करता है कि आप APFS के साथ MacOS हाई सिएरा में हैं या नीचे: docs.docker.com/docker-for-mac/faqs/#disk-usage
पीटर

1
मैक के लिए आकार की जाँच करें:du -hd1 ~/Library/Containers/com.docker.docker/Data/
एफ्रन

122

यह करने का पुराना तरीका था, अब यह बदल गया है। 2019 तक इस उत्तर की उपेक्षा करें

Mac OS X या Windows के विशेष मामले में, boot2docker का उपयोग करते हुए, आपकी Docker छवियां एक virtualBox VM में boot2docker द्वारा प्रबंधित की जाती हैं।

यह VM वर्चुअलबॉक्स छवियों के सामान्य स्थान पर संग्रहीत किया जाएगा:

      OS X: ~/VirtualBox VMs/boot2docker-vm

      खिड़कियाँ: %USERPROFILE%/VirtualBox VMs/boot2docker-vm

आप इसे चलाकर रीसेट कर सकते हैं (चेतावनी: यह आपके द्वारा अब तक बनाई और डाउनलोड की गई सभी छवियों को नष्ट कर देगा):

boot2docker down
boot2docker destroy
boot2docker init
boot2docker up

यह विशेष रूप से तब उपयोगी होता है जब आप निर्माण के दौरान इंटरमीडिएट छवियों के टन रखते थे / उपयोगी --rm विकल्पों के बिना एक निर्माण को डिबग करते हुए, मैं उन्हें संदर्भ के लिए यहां उद्धृत करता हूं: उपयोग करें:

docker build -t webapp --rm=true --force-rm=true .

के बजाय:

docker build -t webapp .

16
विंडोज 10 पर डॉकर की एक नई स्थापना के बाद, मैं इस बात की पुष्टि कर सकता हूं कि पहली बार डॉकर क्विकस्टार्ट टर्मिनल शॉर्टकट पर क्लिक करने का परिणाम 'डिफ़ॉल्ट' नामक एक वर्चुअल मशीन (वीएम) बनाता है (एक-दो असफल होने के बाद - जब तक आप इसे बनाए रखें यह काम करता हैं)। यह 'डिफ़ॉल्ट' वीएम विंडोज के भीतर स्थित हो सकता है: %USERPROFILE%\.docker\machine\machines (कृपया रास्ते में पूर्ण विराम पर ध्यान दें)
लॉन्गसर्नाम

6
नए रिलीज़ में boot2docker अब docker- मशीन है । देखें docs.docker.com/machine/migrate-to-machine
khylo

3
क्या उस स्थान को बदलना संभव है?
ढबला

13
उत्तर अब विंडोज 10 के लिए सही नहीं है। इसके बजाय, @tristan के नए उत्तर को देखें जिसमें संदर्भ हैC:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx
aaronsteers

5
% USERPROFILE% \ docker अभी भी win7 सेटअप के लिए सही है।
RMorrisey

119

दरअसल, Docker इमेज को दो फाइलों में स्टोर किया जाता है, जैसा कि कमांड को फॉलो करके दिखाया जाता है

$ docker info

डेटा फ़ाइल: /var/lib/docker/devicemapper/devicemapper/data

मेटाडेटा फ़ाइल: /var/lib/docker/devicemapper/devicemapper/metadata



8
हां, दुर्भाग्य से, ये दो लाइनें "(मेटा) डेटा फ़ाइल" हर डॉकटर में दिखाई नहीं देती हैं। यह इस्तेमाल किए गए ड्राइवर पर निर्भर करता है
Orabîg

@DmitryYudin mirosval का उत्तर मैक के लिए नवीनतम डॉकर के लिए काम करता है ।
फ्रैंकलिन यू

8
एक उचित उत्तर नहीं है "यह वह जगह है जहां यह मेरी मशीन पर है।" एक उचित उत्तर है "यहां बताया गया है कि आप इसे अपनी मशीन पर कैसे पाते हैं।" यह एक उचित उत्तर है। मैं 11 अलग-अलग ईबीएस संस्करणों के साथ एक कंपनी में शामिल हो गया जो डॉक छवियों से भरा है। इस जवाब ने मुझे यह पता लगाने की अनुमति दी कि वर्तमान "रूट डेयर" कौन था ।
ब्रूनो ब्रोंस्की

Mac OS X पर (कम से कम Yosemite पर, जो कि EOL wrt Docker है), docker infoबहुत उपयोगी है, लेकिन आउटपुट Docker Root Dir: /var/lib/dockerइमेज स्टोरेज लोकेशन (ऊपर मैक-विशिष्ट उत्तर देखें) को इंगित नहीं करता है।
वेबेल आईटी ऑस्ट्रेलिया - अपवित्र

70

हाइपर-वी का उपयोग करने वाले नए जारी किए गए 'डॉकटर फॉर विंडोज' पर, डेटा डॉक वर्चुअल हार्ड डिस्क में स्थित है:

C: \ Users \ Public \ Documents \ Hyper-V \ Virtual हार्ड डिस्क \ MobyLinuxVM.vhdx

आप डॉकर / MobyLinuxVM तक पहुंच के लिए 'हाइपर-वी मैनेजर' भी खोल सकते हैं।


13
विंडोज 10 एनिवर्सरी अपडेट पर डॉकर C:\ProgramData\docker\windowsfilterमेरे लिए छवि फ़ाइलों को रखता है। अधिक जानकारी: stackoverflow.com/a/39971954/188740
जॉनी ओशिका

1
'हाइपर-वी मैनेजर' इसका जवाब है!
रेजा

68

छवियों में संग्रहीत हैं /var/lib/docker/graph/<id>/layer

ध्यान दें कि चित्र केवल मूल छवि से भिन्न हैं। मूल आईडी छवि के मेटाडेटा के साथ संग्रहीत है /var/lib/docker/graph/<id>/json

जब आप docker runएक छवि AUFS एक प्रयोग करने योग्य फ़ाइल सिस्टम में सभी परतों को 'मर्ज' करेगा।


11
यह उत्तर अब पुराना हो गया है, उन्होंने चीजों को इधर-उधर कर दिया है।
वायुसेना

7
@ क्या आप पोस्ट कर सकते हैं जो चारों ओर चला गया है?
एलिजा लिन

1
अब कोई ग्राफ फ़ोल्डर नहीं है
धान

49

उबंटू पर आप चल रहे चित्रों के साथ "खेल" सकते हैं

sudo baobab /var/lib/docker

वास्तव में, छवियों के भीतर संग्रहीत हैं /var/lib/docker/aufs/diff

स्क्रीनशॉट दिखा रहा है डिस्क विश्लेषक उपकरण baobab पर चल रहा है / var / lib / docker


वास्तव में अच्छा लगा। मैक डेजीडिस्क पर (व्हील डिस्प्ले) समान है, ग्रैंडस्पर्शी भी उपयोगी (आयताकार) है।
वेबेल आईटी ऑस्ट्रेलिया - अपवित्र

ऐसा लगता है कि इसे खोजने का एकमात्र विश्वसनीय तरीका है।
एलेक्जेंड्रा

48

कोई व्यक्ति जो डॉकर टूलबॉक्स का उपयोग कर रहा है (जो डॉकटर-मशीन का उपयोग करता है), मैक ओएस एक्स पर बूट 2 डॉक के बारे में उत्तर मान्य नहीं हैं। डॉकटर-मशीन वीएम को "डिफ़ॉल्ट" कहा जाता है और यह /Users/<username>/.docker/machine/machines/default/निर्देशिका में मौजूद है ।


3
मुझे उस निर्देशिका के अंदर कोई कंटेनर या चित्र फ़ोल्डर नहीं मिल रहे हैं।
लवरात्रि

3
उस निर्देशिका में
disk.vmdk देखें

1
$ docker छवियाँ -a 1 गीगा छवियों के आसपास उपज देती है, जबकि डिस्क .vmdk ~ / .docker में लगभग 20 से.मी. कैसे?
गुरव

यह विंडोज़ में कहाँ संग्रहीत है?
श्रेयस

@ ग्रेव: वर्चुअल मशीन भविष्य में उपयोग के लिए 20 गीगा आवंटित करती है, लेकिन केवल छवियों के लिए 1 टमटम का उपयोग करती है।
प्राइमावेरा 133

22

में विंडोज के लिए डोकर (देशी विंडोज़) डिफ़ॉल्ट कंटेनर भंडारण पर है:

   > docker info
   ...
   Docker Root Dir: C:\ProgramData\Docker
   ...

मैंने docker buildकमांड चलाई और मुझे एक फ़ाइल दिखाई नहीं दे रही है जो मुझे लगता है कि छवि फ़ाइल है। मुझे कुछ फ़ोल्डर और कुछ पाठ फ़ाइलें (जैसे service.txt) दिखाई देती हैं। किस प्रकार की फ़ाइल और किस फ़ाइल एक्सटेंशन के साथ docker buildनिर्माण होता है?
user3731622

22

यदि आप मैक (नहीं boot2docker) के लिए डॉकर का उपयोग कर रहे हैं तो स्थान है/Users/<</>UserName></>/Library/Containers/com.docker.docker/Data/


हाँ, जब मैंने किया: jasper@~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux $ ls -lh | grep Docker -rw-r--r--@ 1 jasper staff 6.3G May 25 19:20 Docker.qcow2मुझे छवि मिली। लेकिन यह कंटेनर नहीं है। इस डेटा निर्देशिका में उन्हें वास्तव में नहीं देखें ..
rhand

1
लेकिन जैसा कि आप पहले यहाँ बताया गया है stackoverflow.com/a/37642236/460885 यह इस छवि के अंदर है कि कंटेनर स्थित हैं।
rhand

7

जैसा कि यहां बताया गया है , यदि आप मैक पर हैं, तो यह स्थित है

/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

2
Docker.qcow2? मुझे कैसे लगता है कि इससे एक विशिष्ट डॉकटर छवि खींची जा सकती है?
15x पर AlxVallejo

7

विंडोज में हाइपर-वी के साथ ट्रिस्टन के जवाब पर विस्तार करते हुए, आप इन कदमों के साथ छवि को मैथ्यूसमैन से स्थानांतरित कर सकते हैं :

विंडोज 10 में,

  1. कर्ता आदि को रोकना
  2. टास्क-बार सर्च बॉक्स में "हाइपर-वी मैनेजर" टाइप करें और इसे चलाएं।
  3. अपने पीसी को बाएं हाथ के फलक में चुनें (मेरा नाम DESKTOP-CBP ** है)
  4. सही वर्चुअल मशीन पर राइट क्लिक (मेरा नाम MobyLinuxVM है)
  5. "बंद करें" चुनें (यदि यह चल रहा है)
  6. फिर से उस पर राइट क्लिक करें और "मूव" चुनें
  7. संकेतों का पालन करें

2
यह केवल हाइपर-वी मशीन को स्थानांतरित करता है छवियों को नहीं, छवियों को अभी भी संग्रहीत किया जाएगा जहां वीएचडी स्थान है।
जैतून_तीन

@olive_tree मैं docker buildकमांड द्वारा बनाई गई छवियों को खोजने की कोशिश कर रहा हूं । मैं विंडोज 10 कंप्यूटर पर हूं। मैं C: \ Users \ Public \ Documents \ Hyper-V \ Virtual हार्ड डिस्क में देखता हूं, लेकिन मैं जो कुछ भी देखता हूं वह MobyLinuxVM.vhdx है। वास्तविक चित्र कहाँ संग्रहीत हैं?
user3731622

5

यदि आप यह ध्यान रखते हैं कि डॉकटर अभी भी एक वीएम में चल रहा है, तो सिस्टम पथ वीएम के सापेक्ष हैं और मैक ओएससी सिस्टम से नहीं। जैसा कि यह कहता है कि सभी VM फ़ाइल में सम्‍मिलित है:

/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

इस वॉल्यूम विकल्प और VM कमांड को सूचीबद्ध करने में सक्षम ls कमांड के साथ अल्पाइन छवि को चलाने का प्रयास करें:

docker run --rm -it -v /: / vm-root अल्पाइन: एज ls -l / vm-root

इसके बाद बस कोशिश करें:

docker run --rm -it -v /: / vm-root अल्पाइन: एज ls -l / vm-root / var / lib / docker

अब, आप VM होस्ट से docker फ़ोल्डर को सूचीबद्ध करने में सक्षम हैं


धन्यवाद! यह एकमात्र उत्तर है जिसने हाइपर-वी के साथ विंडोज 10 पर मेरे लिए काम किया है। मैं मायावी / var / lib / docker / overlay2 फ़ोल्डर के तहत दूषित फ़ाइलों को साफ करने में सक्षम था।
अली चिएटो

4

मैं मैक OSX पर Docker के लिए boot2docker का उपयोग करता हूं, इसलिए छवियों को इसमें संग्रहीत किया जाता है /Users/<USERNAME>/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vmdk


4

मैं केवल उबंटू उपयोगकर्ताओं के लिए इस प्रश्न का उत्तर दे सकता हूं:

जब आप कमांड चलाते हैं तो डॉक की रूट डायरेक्टरी पाई जा सकती है docker info

इस पंक्ति में डॉकर निर्देशिका दी जाएगी: " Docker Root Dir: /var/lib/docker"

Docker की छवियों के बारे में, उन्हें docker निर्देशिका के अंदर संग्रहीत किया जाता है: /var/lib/docker/aufs/diff/

याद रखें कि ये चीजें सभी संस्करण में समान नहीं हैं। वर्तमान में, मैं 1.12.3 का उपयोग कर रहा हूं।


4

docker infoसिस्टम-वाइड जानकारी प्रदर्शित करने के लिए कमांड का उपयोग करें और स्थान भिन्न हो सकते हैं।

उपयोग में संग्रहण ड्राइवर के आधार पर, अतिरिक्त जानकारी को दिखाया जा सकता है, जैसे कि पूल नाम, डेटा फ़ाइल, मेटाडेटा फ़ाइल, उपयोग किया गया डेटा स्थान, कुल डेटा स्थान, मेटाडेटा स्थान का उपयोग किया गया, और कुल मेटाडेटा स्थान।

डेटा फ़ाइल वह जगह है जहाँ चित्र संग्रहीत होते हैं और मेटाडेटा फ़ाइल वह होती है जहाँ उन चित्रों के संबंध में मेटा डेटा संग्रहीत होता है। जब पहली बार चलाया जाता है तो डॉकर एक निश्चित मात्रा में डेटा स्पेस और मेटा डेटा स्पेस को उस वॉल्यूम पर उपलब्ध स्थान से आवंटित करता है जहां /var/lib/dockerमाउंट किया जाता है।

यहाँ उबंटू पर उदाहरण दिया गया है ( रूट ड्यूर की जाँच करें ):

$ docker info
...
Server Version: 18.06.1-ce
Storage Driver: aufs
 Root Dir: /var/snap/docker/common/var-lib-docker/aufs
...
Docker Root Dir: /var/snap/docker/common/var-lib-docker
...

और यहाँ ट्रेविस सीआई ( डॉकेर रूट डार देखें ) पर उदाहरण दिया गया है :

$ docker info
Server Version: 17.09.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
...
Docker Root Dir: /var/lib/docker
...

आप --formatउस जानकारी को एक फ़ाइल में निकालने के लिए पैरामीटर का उपयोग कर सकते हैं , जैसे

$ docker info --format '{{.DriverStatus}}'
[[Root Dir /var/snap/docker/common/var-lib-docker/aufs] [Backing Filesystem extfs] [Dirs 265] [Dirperm1 Supported true]]

या:

$ docker info --format '{{json .DriverStatus}}'
[["Root Dir","/var/snap/docker/common/var-lib-docker/aufs"],["Backing Filesystem","extfs"],["Dirs","265"],["Dirperm1 Supported","true"]]

3

विंडोज के लिए डॉकर में, लॉग यहां हैं: %USERPROFILE%\AppData\Local\Docker


3

में डॉक फ़ोल्डर की जाँच करें /var/lib

छवियों को नीचे स्थान पर संग्रहीत किया जाता है:

/var/lib/docker/image/overlay2/imagedb/content

4
इसमें केवल sha256 फ़ोल्डर है
'21

मुझे लगता है कि आप बस का मतलब था /var/lib/docker/image/overlay2/:। यह भी ध्यान रखें कि इस तथ्य यह है कि अपने डोकर इंजन का उपयोग कर रहा है की वजह से मामला है overlay2संग्रहण ड्राइवर के रूप में।
गयि अवराम

3

docker inspect container_id
MergedDir के अंतर्गत फ़ोल्डर खोजें का उपयोग करें

# example. 
"MergedDir": "/var/lib/docker/overlay2/f40cc2ea8912ec3b32deeef5a1542a132f6e918acb/merged 

3

"डॉकर डेस्कटॉप" के लिए, डॉकटर सिस्टम ट्रे आइकन पर क्लिक करें और "सेटिंग्स" पर क्लिक करें। यहां छवि विवरण दर्ज करें

उन्नत टैब पर, आप डिस्क छवि स्थान देख सकते हैं।

यहां छवि विवरण दर्ज करें


2

पर्यावरण: Windows 10 प्रो, डोकर डेस्कटॉप 2.0.3.0 बढ़त

सिस्टम ट्रे में राइट-क्लिक करें आइकन, चुनें सेटिंग्स - उन्नत:

डिस्क छवि स्थान (ब्राउज़र के माध्यम से संपादन योग्य):

C: \ Users \ Public \ Documents \ Hyper-V \ Virtual हार्ड डिस्क \ DockerDesktop.vhdx

(यह वहाँ है - दस्तावेज़ निर्देशिका छिपी हुई है)


क्या C: \ Users \ Public \ Documents \ Hyper-V \ Virtual हार्ड डिस्क \ DockerDesktop.vhdx docker buildकमांड द्वारा बनाई गई छवि है ?
user3731622


1

फेडोरा पर, डोकर का उपयोग करता एलवीएम यदि उपलब्ध हो भंडारण के लिए। मेरे सिस्टम से docker infoपता चलता है:

Storage Driver: devicemapper
 Pool Name: vg01-docker--pool
 Pool Blocksize: 524.3 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file:
 Metadata file:
 Data Space Used: 9.622 GB
 ...

उस स्थिति में, भंडारण बढ़ाने के लिए, आपको LVM कमांड लाइन टूल्स या संगत विभाजन प्रबंधकों का उपयोग करना होगा जैसे कि ब्लीवेट


1

Windows 2016 में, docker (DockerMsftProvider) फ़ोल्डर "windowsfilter" का उपयोग डस्ट रूट के तहत करता है

>docker info
...
Storage Driver: windowsfilter
...
Docker Root Dir: C:\ProgramData\docker
...

यह फ़ाइलों को डाउनलोड करने के लिए docker रूट के तहत "tmp" फ़ोल्डर का उपयोग करता है और डाउनलोड की गई फ़ाइलों को "windowsfilter" फ़ोल्डर में निकालने के बाद यह फ़ाइलों को हटा देता है।


0

डेबियन अनस्टेबल / सिड पर,

docker info पूरे सिस्टम में जानकारी प्राप्त करने के।

छवियों पर संग्रहीत हैं /var/lib/docker/image/overlay2/imagedb/contentऔर

कंटेनरों में जमा किया जाता है /var/lib/docker/containers

docker संस्करण 18.06.0-ce, API संस्करण1.38


0

मैं ऊपर जवाब और फिर से कोशिश की का उपयोग कर MacOS पर डोकर संस्करण 18.09 के साथ प्रश्न हल नहीं कर सका।

मेरे लिए एकमात्र वास्तविक समाधान इस docker-compose.ymlकॉन्फ़िगरेशन का उपयोग कर रहा था :

version: '3.7'
...
  services:
    demo-service:
      volumes:
        - data-volume:/var/tmp/container-volume

volumes:
  data-volume:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /tmp/host-volume

कंटेनर के भीतर से राइट करने योग्य मात्रा के रूप में साझा किए गए मैको से docker-compose upआखिरकार लॉन्च करने के बाद /tmp/host-volume:

> docker exec -it 1234 /bin/bash
bash-4.4$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
...
osxfs                488347692 464780044  21836472  96% /var/tmp/container-volume

उम्मीद है कि यह दूसरों को भी मदद करता है।


0

छवियां अंदर /var/lib/dockerऔर फिर लागू storage driverनिर्देशिका के तहत संग्रहीत की जाती हैं ।

उपयोग किए जा रहे स्टोरेज ड्राइवर को docker infoकमांड निष्पादित करके निर्धारित किया जा सकता है ।


0

डॉकर गेटिंग स्टार्टेड गाइड के अनुसार "आपकी मशीन की स्थानीय डॉकर छवि रजिस्ट्री में" आपकी निर्मित छवि "है।"

यहां छवि विवरण दर्ज करें

यह मेरे लिए अभी भी अजीब है, क्योंकि अब यह सवाल की ओर जाता है। मेरी मशीन की स्थानीय डॉकर छवि रजिस्ट्री कहां है?

फिर भी, मैं निश्चित रूप से लगता है कि यह जानकारी एक जवाब के रूप साझा करने के लायक है।


Haha TBH मुझे लगता है कि यह एक टिप्पणी है। एक महान टिप्पणी हालांकि होगा!
मोंग एच। एनजी

0

अगर किसी को स्क्रिप्टिंग के उद्देश्यों की आवश्यकता है, तो यहां एक-लाइन समाधान है।

POSIX शेल में, PCRE सक्षम के साथ grep, कोशिश करें:

DOCKER_ROOT_DIR="$(docker info 2>&1 | grep -oP '(?<=^Docker Root Dir: ).*')"

PowerShell में:

$DOCKER_ROOT_DIR="$(docker info 2>&1 | foreach {if($_ -match "Docker Root Dir"){$_.TrimStart("Docker Root Dir: ")}})"

ध्यान दें, जब 10.0.18999.1डिफ़ॉल्ट कॉन्फ़िगरेशन में विंडोज 10 (के रूप में ) पर, यह वापस आता है:

  • C:\ProgramData\Docker "विंडोज कंटेनर" मोड में
  • /var/lib/docker, "लिनक्स कंटेनर" मोड में

CentOS पर मुझे उपयोग करना था DOCKER_ROOT_DIR="$(sudo docker info 2>&1 | grep -oP '(?<=Data loop file: ).*')", लेकिन अंत में यह एक फाइल है, न कि डायरेक्टरी
HairOfTheDog

क्या आप सुनिश्चित हैं कि यह एक निर्देशिका नहीं है? मेरे लिए, sudo ls "$(docker info 2>&1 | grep -oP '(?<=^Docker Root Dir: ).*')"इस निर्देशिका की सामग्री को सूचीबद्ध करें।
वल्केन रैवेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.