Docker Compose:卷已声明为外部卷,但找不到

ram*_*iwi 2 docker docker-compose

从docker compose v3 docs运行外部卷样本yml 给我以下错误:

ERROR: Volume data declared as external, but could not be found. Please create the volume manually using `docker volume create --name=data` and try again.
Run Code Online (Sandbox Code Playgroud)

这是yml代码:

version: '2'

services:
  db:
    image: postgres
    volumes:
      - data:/var/lib/postgresql/data

volumes:
  data:
    external: true
Run Code Online (Sandbox Code Playgroud)

我在Windows 10上运行它。也尝试将版本设置为“ 3”,但出现相同的错误。

yam*_*enk 7

如错误消息所指定,您需要通过运行以下命令来创建卷:

docker volume create data
Run Code Online (Sandbox Code Playgroud)

在docker compose中将卷声明为外部卷时,这意味着该卷先前已创建,而您只是在compose文件中引用它。

  • @djangofan允许dockercompse自动创建卷,只需删除`external:true` (3认同)
  • 为什么 docker-compose 命令无法为您创建它?我不理解。如果我想将 docker-compose.yml 文件传递​​给朋友,我不想告诉他们运行此创建命令。明白了吗? (2认同)