如何在Docker Compose中为命名卷指定本地目录?
解决方案
你可以通过给命名卷配置driver_opts,将其关联到指定的本地目录,这样既保留命名卷的简洁配置,又能让数据映射到你原来的/home/user/data目录。
修改后的完整配置如下:
services: service-a: image: "service-a" volumes: - namedvolume:/data service-b: image: "service-b" volumes: - namedvolume:/data service-c: image: "service-c" volumes: - namedvolume:/data volumes: namedvolume: driver: local driver_opts: type: none o: bind device: /home/user/data
关键说明:
volumes部分改为对namedvolume的详细配置,而非简单列表driver: local指定使用本地驱动(默认值,显式写出更清晰)driver_opts参数说明:type: none:不使用Docker默认的卷存储类型o: bind:指定该卷为绑定挂载类型device: /home/user/data:关联到你原本使用的本地目录
配置完成后,三个服务共享namedvolume命名卷,卷的实际数据会存储在/home/user/data目录下,你可以直接在本地修改该目录的文件,容器内的/data路径会同步这些变更。
内容的提问来源于stack exchange,提问作者Rabid
相关产品推荐
相关产品推荐

