如何使用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问题列表的大量搜索之后,我们得到了:
Github Issue
实现看起来像这样,其中volume是顶层命令:
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开发人员进行了大量来回讨论