我最近才开始学习Docker。尝试建立一个存储数据库的服务。
这是我的 docker-compose.yml:
version: "3.7"
services:
mongo:
image: mongo
ports:
- 27018:27017
volumes:
- mongodb:/data/db
volumes:
mongo:
Run Code Online (Sandbox Code Playgroud)
当我运行时docker-compose up .,我收到此错误:
ERROR: Named volume "mongodb:/data/db:rw" is used in service "mongo" but no declaration was found in the volumes section.
Run Code Online (Sandbox Code Playgroud)
我确实在外部创建了我的命名卷 mongodb。跑步docker volume ls会给我:
DRIVER VOLUME NAME
local mongodb
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?多谢。
小智 16
对于命名卷,您应该有一个与“服务”处于同一级别的“卷”键,并且您在服务中使用的任何命名卷都必须列在“卷”键(您错过的位置)下。
在你的情况下:
version: "3.7"
services:
mongo:
image: mongo
ports:
- 27018:27017
volumes:
- mongodb:/data/db
volumes:
mongodb:
Run Code Online (Sandbox Code Playgroud)
只是提醒一下:不需要在此处指定匿名卷和绑定安装。
希望这对您有帮助:)
| 归档时间: |
|
| 查看次数: |
12124 次 |
| 最近记录: |