0

我想运行 docker-compose.yaml 文件,但出现以下错误:

“无效,因为:services.eventstore.volumes 包含无效类型,它应该是一个数组”。

我将文件备份eventstore到我的 Windows 桌面,我想使用 docker 恢复它。

这是我的 docker-compose 文件:

version: '3'
services:
  eventstore:
    image: eventstore/eventstore:release-5.0.1
    container_name: eventstore
    ports:
      - 2113:2113
      - 1113:1113
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "curl -sf http://localhost:2113/stats || exit 1"]
      interval: 5s
      timeout: 2s
    environment:
      - EVENTSTORE_RUN_PROJECTIONS=all
      - EVENTSTORE_START_STANDARD_PROJECTIONS=TRUE
    volumes:
      -C:/Users/cerdem/Desktop/eventstore:./data
      -C:/Users/cerdem/Desktop/eventstore:./logs

有关更多信息,我在放置该volumes部分后出现错误,因为我无法理解该部分,我将从localnot恢复 db 文件host

我的电脑运行的是windows 1O。

4

2 回答 2

2

您需要在卷键中的破折号后有空格。

    volumes:
      - C:/Users/cerdem/Desktop/eventstore:./data
      - C:/Users/cerdem/Desktop/eventstore:./logs

它不被识别为数组。因此,类型错误。

“无效,因为:services.eventstore.volumes 包含无效类型,它应该是一个数组”

这是完整版:

services:
  eventstore:
    image: eventstore/eventstore:release-5.0.1
    container_name: eventstore
    ports:
      - 2113:2113
      - 1113:1113
    restart: always
    healthcheck:
      test: ["CMD-SHELL", "curl -sf http://localhost:2113/stats || exit 1"]
      interval: 5s
      timeout: 2s
    environment:
      - EVENTSTORE_RUN_PROJECTIONS=all
      - EVENTSTORE_START_STANDARD_PROJECTIONS=TRUE
    volumes:
      - C:/Users/cerdem/Desktop/eventstore:./data
      - C:/Users/cerdem/Desktop/eventstore:./logs
于 2020-01-11T14:15:53.683 回答
1

你有一些事情发生:

  • 破折号后需要一个空格。
  • 您应该用“奇怪”字符包装路径,如.引号中的。
  • 您需要以 Docker 喜欢的方式格式化 Windows 路径。

IE

    volumes:
      - '/c/Users/cerdem/Desktop/eventstore:./data'
      - '/c/Users/cerdem/Desktop/eventstore:./logs'

顺便说一句,如果您有兴趣,我编写了一个方便的小脚本来更轻松地处理频繁的 Windows-2-Docker 路径转换。

https://stackoverflow.com/a/54619756/553663

于 2020-01-11T19:25:00.093 回答