如何使用版本 2.1 Docker Compose 语法创建共享命名卷。我想将主机文件夹安装为共享卷,并在关机期间将数据保留在主机上。
web:
< ----- remainder of service defn omitted for clarity ----->
# Load the external volume 'pgdata' into the folder /var.. on the host
volumes:
- pg-data:/var/lib/postgresql/data
# Top level volumes key allows sharing of volume across multiple services
# Volumes defined as name: <path on host>
volumes:
# Volume named pgdata is located here on the host
pg-data: #/var/lib/postgresql/data/
# App data volume
app-data: #./scribl/
# Static files volume
static-data: #./static/
更新: 我正在寻找的关键是能够指定主机上共享卷的位置,即与旧方法相同,但使用命名容器
volumes:
- location/on/host:location/on/container
最佳答案
好吧,经过对 git issues 列表的大量搜索,我们得到了:
实现如下所示,其中volumes是顶级命令:
volumes:
# Volume named pgdata is located here on the host
pg-data: #/var/lib/postgresql/data/
driver: local
driver_opts:
device: /var/lib/postgres/ # this is the mount path on the host
o: bind
编辑:
设备路径必须是绝对路径 -> 与 docker 开发人员对此进行了大量的来回讨论
关于docker - 如何使用与主机共享的数据创建命名 Docker 数据卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41920208/