macOS下如何找到/var/lib/docker
一、一场意外:
想修改容器配置文件?按照网上的教程,进入/var/lib/docker,如下图:
惊不惊喜?意不意外?
二、肿么办?
1.找到vms路径:
➜ ~ ps -efa | grep -i -e docker |grep vms
501 12064 12063 0 8:37下午 ?? 0:00.03 com.docker.osxfs serve --address fd:3 --connect vms/0/connect --control fd:4 --log-destination asl
501 12065 12063 0 8:37下午 ?? 0:00.12 com.docker.vpnkit --ethernet fd:3 --diagnostics fd:4 --pcap fd:5 --vsock-path vms/0/connect --gateway-forwards /Users/wuzhibin/Library/Group Containers/group.com.docker/gateway_forwards.json --host-names host.docker.internal,docker.for.mac.host.internal,docker.for.mac.localhost --listen-backlog 32 --mtu 1500 --allowed-bind-addresses 0.0.0.0 --http /Users/wuzhibin/Library/Group Containers/group.com.docker/http_proxy.json --dhcp /Users/wuzhibin/Library/Group Containers/group.com.docker/dhcp.json --port-max-idle-time 300 --max-connections 2000 --gateway-ip 192.168.65.1 --host-ip 192.168.65.2 --lowest-ip 192.168.65.3 --highest-ip 192.168.65.254 --log-destination asl --udpv4-forwards 123:127.0.0.1:52448 --gc-compact-interval 1800
501 12074 12067 0 8:37下午 ?? 0:30.68 com.docker.hyperkit -A -u -F vms/0/hyperkit.pid -c 1 -m 1024M -s 0:0,hostbridge -s 31,lpc -s 1:0,virtio-vpnkit,path=vpnkit.eth.sock,uuid=1f73ee8e-30f5-4eca-bf06-7b9d652e4a02 -U b47f2d6c-de81-419f-b067-65c504841d17 -s 2:0,virtio-blk,/Users/wuzhibin/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw -s 3,virtio-sock,guest_cid=3,path=vms/0,guest_forwards=2376;1525 -s 4,ahci-cd,/Applications/Docker.app/Contents/Resources/linuxkit/docker-desktop.iso -s 5,ahci-cd,vms/0/config.iso -s 6,ahci-cd,/Applications/Docker.app/Contents/Resources/linuxkit/docker.iso -s 7,virtio-rnd -l com1,autopty=vms/0/tty,asl -f bootrom,/Applications/Docker.app/Contents/Resources/uefi/UEFI.fd,,
看到没?在这里/Users/wuzhibin/Library/Containers/com.docker.docker/Data/vms
2.进入到这个路径
➜ ~ cd /Users/wuzhibin/Library/Containers/com.docker.docker/Data/vms
➜ vms ls
0
是不是和想象的不太一样?
3.进入到“0”这个目录
➜ vms cd 0
➜ 0 ll
total 200
srwxr-xr-x 1 wuzhibin staff 0B 5 24 20:37 00000002.000005f4
srwxr-xr-x 1 wuzhibin staff 0B 5 22 14:37 00000002.00001000
srwxr-xr-x 1 wuzhibin staff 0B 5 24 20:37 00000002.00001001
srwxr-xr-x 1 wuzhibin staff 0B 5 22 14:37 00000002.00001002
srwxr-xr-x 1 wuzhibin staff 0B 5 24 16:56 00000002.00001003
srwxr-xr-x 1 wuzhibin staff 0B 5 22 14:37 00000002.0000f3a4
srwxr-xr-x 1 wuzhibin staff 0B 5 24 20:37 00000003.000005f5
srwxr-xr-x 1 wuzhibin staff 0B 5 24 20:37 00000003.00000948
-rw-r--r-- 1 wuzhibin staff 90K 5 24 20:37 config.iso
srwxr-xr-x 1 wuzhibin staff 0B 5 24 20:37 connect
drwxr-xr-x@ 3 wuzhibin staff 96B 5 23 19:22 data
lrwxr-xr-x 1 wuzhibin staff 17B 5 24 20:37 guest.000005f5 -> 00000003.000005f5
lrwxr-xr-x 1 wuzhibin staff 17B 5 24 20:37 guest.00000948 -> 00000003.00000948
-rw-r--r-- 1 wuzhibin staff 2.3K 5 24 20:37 hyperkit.json
-rw-r--r-- 1 wuzhibin staff 5B 5 24 20:37 hyperkit.pid
srwxr-xr-x 1 wuzhibin staff 0B 5 22 14:37 lifecycle-server.sock
drwxr-xr-x 2 wuzhibin staff 64B 4 19 22:20 log
lrwxr-xr-x 1 wuzhibin staff 12B 5 24 20:37 tty -> /dev/ttys000
4.看到tty这个设备没?对!用screen连他,再进入/var/lib/docker就可以了
➜ 0 screen tty
docker-desktop:~# cd /var/lib/docker
docker-desktop:/var/lib/docker# ls
builder containers overlay2 swarm volumes
buildkit image plugins tmp
containerd network runtimes trust
docker-desktop:/var/lib/docker#
号外:Ctrl+a+d退出screen