我正在使用 docker-compose
构建我的容器,我想使用 Docker 提供的新卷 API,但我不知道如何使用。
我希望能够说 docker-compose up -d
到:
- 创建一个卷,如果已创建,则使用它。
- 使用来自先前卷容器的数据创建服务容器。
最佳答案
首先,您必须使用版本 2 Compose 文件才能使用新规范来创建和使用命名卷。 Compose File Reference包括您需要知道的所有内容,包括示例。
总结一下:
- 将
version: '2'
添加到docker-compose.yml
的顶部。 - 将服务单元放在
services:
键下。 - 将体积单位放在
volumes:
键下。 - 当引用来自服务单元的命名卷时,指定
volumename:/path
其中volumename
是在volumes:
下给出的名称键(在下面的示例中是dbdata
)和/path
是挂载卷的容器内的位置(例如,/var/lib/mysql
)。
这是一个创建命名卷 dbdata
并从 db
服务引用它的最小示例。
version: '2'
services:
db:
image: mysql
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
driver: local
关于docker - 在 docker-compose.yml 上复制 'docker volume create --name data' 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34513938/