How to set a path on host for a named volume in docker-compose.yml

后端 未结 3 1679
执笔经年
执笔经年 2020-12-02 08:08

Example below creates dbdata named volume and references it inside db service:

version: \'2\'
services:
  db:
    image: mysql
    volumes:         


        
3条回答
  •  我在风中等你
    2020-12-02 08:23

    With the local volume driver comes the ability to use arbitrary mounts; by using a bind mount you can achieve exactly this.

    For setting up a named volume that gets mounted into /srv/db-data, your docker-compose.yml would look like this:

    version: '2'
    services:
      db:
        image: mysql
        volumes:
          - dbdata:/var/lib/mysql
    volumes:
      dbdata:
        driver: local
        driver_opts:
          type: 'none'
          o: 'bind'
          device: '/srv/db-data'
    

    I have not tested it with the version 2 of the compose file format, but https://docs.docker.com/compose/compose-file/compose-versioning/#version-2 does not indicate, that it should not work.

    I've also not tested it on Windows...

提交回复
热议问题