Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Accessing Docker Volume content on MacOS

When I do a docker volume inspect <dockerid> on a Mac, I can see the path to the data, this appears as a /var/lib/docker/volumes/<volume name>

On a Mac, this link does not exist, because docker runs on inside a very tiny VM.

I can use screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty to get into the vm and then navigate to the folder to see the volumes.

So got all that, but my question is: How do I link what is in these volumes on my host machine?

I have tried this: docker run -it --volume hello:/hello2 --name access_volumes busybox:latest /bin/sh Where hello is the name of a volume I have created.

I can link a folder on my host machine to the container, but I want to backup the content or edit the content of the Volume from my host machine.

How do I do that?

like image 237
jwknz Avatar asked Apr 10 '19 01:04

jwknz


2 Answers

I don't think you can do it without a container. You need something along the lines of this documentation for backup:

docker run --rm --volume hello:/data -v $(pwd):/backup busybox tar cvf /backup/backup.tar /dbdata

or for modifying:

docker run -d --name access_volume --volume hello:/data busybox
docker cp access_volume:/data local-data
# modify local-data
docker cp local-data access_volume:/data
like image 128
Marc Avatar answered Sep 28 '22 08:09

Marc


Have you known docker-compose: you can link your folder to the container by volumes you can link like this

volumes:
  - ./your_host_folder:/folder_in_container/
like image 38
Cuong DaoVan Avatar answered Sep 28 '22 09:09

Cuong DaoVan