Mac / OS X'te / var / lib / docker nerede


139

/var/lib/dockerMac için docker'ı yükledikten sonra Mac'imdeki klasörü arıyorum .

İle docker info alıyorum

    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
    ....

Ama sunucumda bir rehberim yok /var/lib/docker.

Kontrol ettim /Users/myuser/Library/Containers/com.docker.docker/ama orada hiçbir şey bulamadım. Nerede olduğuna dair bir fikriniz var mı?


8
Docker'ın gerekli Linux ortamını sağlamak için başlattığı sanal makinenin içinde bulunur.
larsks

1
Dosya şu olabilir mi: /Users/myuser/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2
christian

1
Evet, vm'nin altında yatan disk görüntüsü budur. Ancak, bu dizinin içeriğini karıştırmak istiyorsanız, vm'nin kendisinde oturum açmanız gerekir. Bunu yapmak için talimatları docs.docker.com/v1.8/installation/mac
larsks

teşekkürler, bu dosyayı yükseltmek qemu-img ile çalışır resize Docker.qcow2 + 5g forums.docker.com/t/…
christian

Bu dizini nerede bulacağınızı biliyor musunuz? @Christian
Jason Xu

Yanıtlar:


50

Bu cevaba bakın

Mac için Docker Uygulamasını kullanırken, kapsayıcıların şu adresteki sanal makinede depolandığı anlaşılıyor:

~ / Library / Konteyner / com.docker.docker / Veri / com.docker.driver.amd64-linux / Docker.qcow2


51
Buraya Google'dan geldiyseniz , doğru cevabı bulmak için aşağı kaydırın.
user1717828

167

Yukarıdaki cevaplarda belirtildiği gibi, bunu şurada bulacaksınız:
screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

Tty'yi çalıştırdıktan sonra şuraya gidebilirsiniz: /var/lib/docker


4
küçük bir değişiklik (evinizin altında, kökün altında değil): "screen ~ / Library / Containers / com.docker.docker / Data / com.docker.driver.amd64-linux / tty"
pdenti

1
İşler! Ama o kabuktan nasıl çıkacağım? Ctrl + d exitve logoutçalışmaz.
thomaskonrad


13
Çıkarma işlemi, ekran oturumunun çalışmaya devam etmesini sağlayacaktır. Bunu koşarak görebilirsiniz screen -ls. Zaten ayrıldıysanız, koşun screen -X quit. Birden fazla ekran oturumunuz varsa -S, oturum adını belirtmeniz gerekir . Çıkarmadıysanız ctrl + a,:, q, u, i, t, ENTER tuşlarına basın. Bu ikisi oturumda ekrandan çıkma komutunu çalıştırır.
dosentmatter

15
Şimdi ~ / Library / Containers / com.docker.docker / Data / vms / 0 / tty konumunda olabileceğini düşünüyorum.
Richard Collette

57

Mac için Docker kullanıyorsanız buradaki diğer yanıtlar güncelliğini yitirmiştir.

Sanal makineye şu şekilde girebildim. Komutu çalıştırın:

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

Bu varsayılan yoldur, ancak önce yapmanız gerekebilir: cd ~/Library/Containers/com.docker.docker/Data/vms

ve sonra lssanal makinenizin hangi dizinde olduğunu görmek ve buna göre "0" ı değiştirmek için.

İçerideyken, sadece boş bir ekran görebilirsiniz. "Enter" tuşuna basın.

Bu sayfa , sanal makineden çıkmak için "Ctrl-a" ve ardından "d" yapmanız gerektiğini açıklar.


Tam olarak çalışmıyor, çünkü sanal makineden çıkıp tekrar girerseniz, kabuğunuz karışır.
AbstractVoid

2
Bu benim için çalışmıyor. Bozuk bir kabukla son buluyorum. Önceki ekran oturumlarından geçtim ve öldürdüm ve sonra tekrar denedim. Enter tuşuna bastığımda rastgele karakterler alıyorum. tekrar enter tuşuna basarsanız, yeni rastgele karakterler. Ve benzeri
Steig Hallquist

1
ekran programından çıkmak için ctl-a kullanın ve ardından ctl- \ /var/lib/docker, çalıştırdıktan sonra bulunduğunuz VM'de screen, yani örn ls /var/lib/docker.
Alexei Martianov

1
Her seansta screen -lszaman zaman dağınık kabuğundan kurtuldum screen -X -S SESSION_NAME quit. Ctr-A ile bağlantıyı keserseniz D ile ekrana yeniden bağlanabilir screen -Rve temiz bir kabuk elde edebilirsiniz.
Andreas Riedmüller

13

@Dmitriy'nin dediği gibi:

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

ve ekranı çıkarmak için ctrl a+ kullanabilird

ve screen -drekranı yeniden takmak için kullanın (çünkü ekranı tekrar eklerseniz terminal metni bozulacaktır.)

Referans

veya çıkmak istiyorsanız, ctrl + a+ kullanın k, ardından yekranı kapatmayı seçin .


5

biraz zombi ipliği ne olabilir ama burada bulduğum gibi, ekrana ihtiyaç duymayan veya kabuğu bozan başka bir çözüm.

A'dan listelenen yol docker volume inspect <vol_name>

aşağıdaki gibi, konteynerin yolunu döndürür:

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

_datayolun kurulum son bileşeni olan bileşen volumes:, belirli bir hacim örneğin kullanmanın hizmet bölümünde:

volumes: - db_data:/var/lib/postgresql/data , kilometrenizin değişeceğini açıklar.

Mac'te oraya ulaşmak için bulduğum en kolay yöntem aslında küçük bir konteyneri çalıştırmak ve ana bilgisayarın kökünü /dockergörüntüdeki dizine bağlamaktır , bu size ana bilgisayarda kullanılan birimlere erişim sağlar.

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

bu noktadan birime cd yapabilirsiniz

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


1

Bu yol Docker Host'tan (MacOS'tan değil) "Docker for Mac Application" zamanlarından önce gelir, burada VirtualBox VM "varsayılan" idi ve bu VM belirtilen yolun içinde (kesin olarak), şimdi "Docker for Mac Application" zamanlarında qemu base vm olan bir Docker.qcow2 görüntüsü var. Bu sanal makinenin içine atlamak @ mik-jagger yolu tamamdır (ancak birkaç tane daha var)


0

Dosyanın:

/var/run/docker.sock

Aslında şu konumda:

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

Bunu çalıştırırsanız, VirtualBox 5.2.8 veya sonraki bir sürümünü çalıştırdığınız ve paylaşımın /Volumes otomatik olarak monte edildiği ve kalıcı olduğu ve Virtualbox'ın bu sürümündeyken varsayılan docker makinesini oluşturduğunuz sürece kanıtlaması gerekir :

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

Ardından, Portainer'a şu adresten erişin: 192.168.99.100:9000 veya localhost: 9000

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.