简体   繁体   中英

How to mount a Docker volume to my host OS (macOS)?

I persist container's data to a volume (not a bind mount ) and I wonder how I can inspect this data later. For example, let's say that I use something like this to run a WordPress site:

docker-compose.yml :

services:
  wordpress:
    volumes:
      - wordpress-files:/var/www/html

volumes:
  wordpress-files:

Is it possible to start another container (based on Alpine or something) that would mount the same volume and also expose it to my host OS (macOS – I'm using Docker for Mac)? Something like this (pseudocode):

services:

  wordpress:
    image: wordpress
    volumes:
      - wordpress-files:/var/www/html

  wordpress-files-inspector:
    volumes:
      - wordpress-files:/tmp:host

volumes:
  wordpress-files:

It's possible to exec into a temporary container but I'd like to make the files available to my local filesystem so that I can use my local tools to browse them. Note that primarily, the files need to live in a named volume (for performance and other reasons) so it cannot be a bind mount like ./my-local-path:/var/www/html .

Why don't you just use samba? Like that:

services:

  wordpress:
    image: wordpress
    volumes:
      - wordpress-files:/var/www/html

  wordpress-files-inspector:
    image: dperson/samba
    command: sh -c "samba.sh -s \"mount;/mount\""
    volumes:
      - wordpress-files:/mount

volumes:
  wordpress-files:

You can inspect IP address of the wordpress-files-inspector container later (or set the container with static ip) and mount it into your host OS.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM