Mac / OS X पर कहां / var / lib / docker है


139

मैं /var/lib/dockerमैक के लिए डॉक स्थापित करने के बाद अपने मैक पर फ़ोल्डर की तलाश कर रहा हूं।

docker info मेरे साथ

    Containers: 5
     ...
    Server Version: 1.12.0-rc4
    Storage Driver: aufs
     Root Dir: /var/lib/docker/aufs
     Backing Filesystem: extfs
     Dirs: 339
     Dirperm1 Supported: true
    ...
    Name: moby
    ID: LUOU:5UHI:JFNI:OQFT:BLKR:YJIC:HHE5:W4LP:YHVP:TT3V:4CB2:6TUS
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    ....

लेकिन मैं /var/lib/dockerअपने मेजबान पर एक निर्देशिका नहीं है ।

मैंने जाँच की है /Users/myuser/Library/Containers/com.docker.docker/लेकिन वहाँ कुछ भी नहीं मिला। कोई भी विचार जहां यह स्थित है?


8
यह vm के अंदर स्थित है जो आवश्यक Linux वातावरण प्रदान करने के लिए docker Instantiates करता है।
लार्क्स

1
/Users/myuser/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2: यह है कि फाइल हो सकता है
ईसाई

1
यह डिस्क छवि को अंतर्निहित है, हाँ। लेकिन अगर आप उस निर्देशिका की सामग्री के बारे में बात करना चाहते हैं, तो आपको vm में ही लॉग इन करना होगा। आप docs.docker.com/v1.8/installation/mac
लार्जक्स

thx, इस फाइल को रिसीव करना qemu-img resize Docker.qcow2 + 5g forum.docker.com/t/… के
क्रिश्चियन

क्या आप जानते हैं कि इस निर्देशिका को कहाँ पाया जाता है? @Christian
Jason Xu

जवाबों:


50

इस जवाब को देखें

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

~ / Library / कंटेनर / com.docker.docker / डेटा / com.docker.driver.amd64-linux / Docker.qcow2


51
यदि आप Google से यहां आए हैं , तो सही उत्तर खोजने के लिए नीचे स्क्रॉल करें।
user1717828

167

जैसा कि ऊपर दिए गए उत्तरों में बताया गया है:
screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

एक बार जब आप tty चल रहे होते हैं तो आप नेविगेट कर सकते हैं /var/lib/docker


4
एक मामूली संशोधन (आपके घर के नीचे, रूट से नीचे नहीं): "स्क्रीन ~ / लाइब्रेरी / कंटेनर / com.docker.docker / Data / com.docker.driver.amd64-linux / tty"
पीडीएफ़

1
काम करता है! लेकिन मैं उस शेल से कैसे बाहर निकलूं? Ctrl + d, exitऔर logoutकाम नहीं करेगा।
thomaskonrad

6
आप स्क्रीन से ctrl + a + d
मिक जैगर

13
कोचिंग अभी भी स्क्रीन सत्र चालू रखेगा। आप इसे चलाकर देख सकते हैं screen -ls। यदि आप पहले से ही अलग कर चुके हैं, तो चलाएं screen -X quit। यदि आपके पास कई स्क्रीन सत्र हैं, तो आपको -Sसत्र का नाम निर्दिष्ट करना होगा। यदि आपने अलग नहीं किया है तो ctrl + a:, q, u, i, t, ENTER दबाएँ। वे दोनों सिर्फ सत्र में स्क्रीन छोड़ कमान चलाते हैं।
डॉसेंटरमैटर

15
मुझे लगता है कि यह अब ~ / लाइब्रेरी / कंटेनरों / com.docker.docker / Data / vms / 0 / tty पर स्थित हो सकता है।
रिचर्ड कोलेट

57

यदि आप मैक के लिए डॉकर का उपयोग कर रहे हैं तो यहां अन्य उत्तर पुराने हैं।

यहां बताया गया है कि मैं वीएम में कैसे सक्षम हो गया। कमांड चलाएँ:

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

यह डिफ़ॉल्ट पथ है, लेकिन आपको पहले ऐसा करने की आवश्यकता हो सकती है: cd ~/Library/Containers/com.docker.docker/Data/vms

और फिर lsयह देखने के लिए कि आपका वीएम किस निर्देशिका में है और तदनुसार "0" को बदलें।

जब आप अंदर हों, तो आप केवल एक खाली स्क्रीन देख सकते हैं। अपनी "Enter" कुंजी मारो।

यह पृष्ठ बताता है कि VM से बाहर निकलने के लिए आपको "Ctrl-a" तब "d" चाहिए


पूरी तरह से काम नहीं कर रहा है, क्योंकि अगर आप वीएम से बाहर निकलते हैं और इसे फिर से दर्ज करते हैं, तो आपको गड़बड़ हो जाएगी।
AbstractVoid

2
यह मेरे लिए काम नहीं कर रहा है। मैं एक गड़बड़ खोल के साथ समाप्त होता हूं। मैं पिछले स्क्रीन सत्रों से गुजरा हूं और फिर से कोशिश की है। प्रवेश करते समय मुझे यादृच्छिक वर्ण मिलते हैं। यदि आप फिर से प्रवेश करते हैं, तो नए यादृच्छिक वर्ण। और इसी तरह
स्टीग हॉलक्विस्ट

1
स्क्रीन प्रोग्राम को छोड़ने के लिए ctl-a तत्कालीन ctl- \ /var/lib/dockerका उपयोग VM में करें, जहां आप रन करने के बाद हैं screen, इसलिए ls /var/lib/dockerइत्यादि
अलेक्सी मार्टीनोव

1
मैं द्वारा गंदा खोल से छुटकारा मिला screen -lsऔर उसके बाद screen -X -S SESSION_NAME quitहर सत्र के लिए। यदि आप ctr-A के साथ डिस्कनेक्ट करते हैं तो D आप स्क्रीन के साथ फिर से कनेक्ट कर सकते हैं screen -Rऔर एक साफ शेल भी प्राप्त कर सकते हैं ।
एंड्रियास रिडमुलर

13

जैसा @ दमित्री ने कहा:

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

और स्क्रीन को अलग करने के लिए ctrl a+ dका उपयोग कर सकते हैं

और screen -drफिर से स्क्रीन को फिर से संलग्न करने के लिए उपयोग करें (क्योंकि यदि आप बस फिर से स्क्रीन संलग्न करते हैं, तो टर्मिनल पाठ को गड़बड़ कर दिया जाएगा।)

संदर्भ

या यदि आप बाहर निकलना चाहते हैं , तो ctrl + a+ का उपयोग करें k, फिर yस्क्रीन को मारने के लिए चुनें ।


5

कुछ जो एक ज़ोंबी धागा है, लेकिन जैसा कि मैंने अभी पाया कि यह एक और समाधान है जिसे स्क्रीन की आवश्यकता नहीं है और न ही शेल आदि को गड़बड़ाना है।

ए से सूचीबद्ध पथ docker volume inspect <vol_name>

कंटेनर के लिए रास्ता देता है, कुछ इस तरह:

"Mountpoint": "/var/lib/docker/volumes/coap_service_db_data/_data"

_dataघटक पथ आप में सेटअप के अंतिम घटक जा रहा है volumes:एक निश्चित मात्रा जैसे का उपयोग कर सेवा के अनुभाग:

volumes: - db_data:/var/lib/postgresql/data , अपने लाभ भिन्न होगा।

मैक पर वहां जाने के लिए मुझे जो सबसे आसान तरीका मिला है वह वास्तव में एक छोटा कंटेनर चालू करना है और मेजबान की जड़ /dockerको छवि में निर्देशिका में माउंट करना है , इससे आपको मेजबान पर उपयोग किए गए संस्करणों तक पहुंच मिलती है।

docker run --rm -it -v /:/docker alpine:edge

इस बिंदु से आप वॉल्यूम को सीडी कर सकते हैं

cd /var/lib/docker/volumes/coap_service_db_data/_data


1

यह रास्ता डॉकर होस्ट (मैकओएस से नहीं) से आता है, "मैक एप्लिकेशन के लिए डॉकर" बार, जहां एक वर्चुअलबॉक्स वीएम "डिफ़ॉल्ट" था और इसके अंदर वीएम उल्लेखित पथ मौजूद है (निश्चित रूप से), अब "मैक एप्लिकेशन के लिए डॉकर" में। वहाँ एक Docker.qcow2 छवि है, जो qemu बेस vm है। इस वीएम @ मिक-जैगर तरीके से कूदने के लिए ठीक है (लेकिन कुछ और हैं)


0

मैं कहूंगा कि फ़ाइल:

/var/run/docker.sock

वास्तव में है:

/Volumes/{DISKNAME}/var/run/docker.sock

यदि आप इसे चलाते हैं, तो इसे तब तक साबित करना चाहिए, जब तक कि आपका रनिंग वर्चुअलबॉक्स 5.2.8 या उसके बाद का और बाद के लिए /Volumes सेटअप ऑटो-माउंटेड और स्थायी हो, और आपने वर्चुअलबॉक्स के उस वर्जन पर डिफ़ॉल्ट डॉक-मशीन तैयार की:

#!/bin/bash
docker run -d --restart unless-stopped -p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock portainer/portainer \
--no-auth

उसके बाद, पोर्टेनर पर पहुंचें: 192.168.99.100:9000 या लोकलहोस्ट: 9000

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.