Docker Составить / Неверно, потому что - PullRequest
0 голосов
/ 11 января 2020

Я хочу запустить файл docker -compose.yaml, но я получаю следующую ошибку:

"недопустимо, потому что: services.eventstore.volumes содержит недопустимый тип, это должен быть массив ".

Я создаю резервную копию файла eventstore на своем рабочем столе windows и хочу восстановить его, используя docker.

Вот мой docker -композитный файл :

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, потому что я не мог понять эту часть, и я восстановлю файл БД из local не host.

Мой компьютер работает windows 10.

Ответы [ 2 ]

1 голос
/ 11 января 2020

У вас происходит несколько вещей:

  • Вам нужен пробел после da sh.
  • Вы должны обернуть пути "странными" символами, такими как . в кавычках.
  • Вам необходимо отформатировать windows пути так, как это нравится Docker.

т.е.

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

Как Кроме того, я написал небольшой удобный скрипт, чтобы облегчить работу с частыми Windows -2- Docker преобразованиями путей, если вам интересно.

{ ссылка }

1 голос
/ 11 января 2020

Вам нужны пробелы после da sh в ключе громкости.

    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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...