问题描述
我正在使用 docker-compose
构建我的容器,我想使用Docker的新卷API,但是我看不到如何。 p>
我想能够说 docker-compos up -d
to:
- 创建一个卷,或者如果已经创建,可以使用它。
- 使用以前卷容器中的数据创建服务容器。 b $ b
首先,您必须使用版本2 Compose文件来使用新的规范来创建和使用命名卷。 包括您需要知道的所有内容,包括示例。
总结:
- 添加
版本:'2'
到docker-compose.yml
的顶部。 - 将服务单位放在
服务$>
- 将卷单位放在
卷下:
键。
- 当从服务单元引用命名卷时,指定
volumename:/ path
其中volumename
是在卷下给出的名称:
键(在下面的示例中为dbdata
)和/路径
是装入卷的容器内的位置(例如,/ var / lib / mysql
)。
- 将卷单位放在
以下是创建一个命名卷 dbdata
的最小示例,并从 db
服务。
版本:'2'
服务:
db:
image:mysql
卷:
- dbdata:/ var / lib / mysql
卷:
dbdata:
驱动程序:local
I'm building my containers with docker-compose
and I would like to use the new volume API from Docker, but I don't see how to.
I want to be able to say docker-compose up -d
to:
- Create a volume, or use it if already created.
- Create services containers with data from previous volume container.
First of all you must be using a version 2 Compose file to use the new specifications for creating and using named volumes. The Compose File Reference includes all you need to know, including examples.
To summarize:
- Add
version: '2'
to the top ofdocker-compose.yml
. - Place service units under a
services:
key. - Place volume units under a
volumes:
key. - When referring to a named volume from a service unit, specify
volumename:/path
wherevolumename
is the name given under thevolumes:
key (in the example below it isdbdata
) and/path
is the location inside the container of the mounted volume (e.g.,/var/lib/mysql
).
Here's a minimal example that creates a named volume dbdata
and references it from the db
service.
version: '2'
services:
db:
image: mysql
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
driver: local
这篇关于在docker-compose.yml上复制'docker volume create --name data'命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!