ОШИБКА: yaml.parser.ParserError: при анализе сопоставления блоков - PullRequest
0 голосов
/ 22 января 2019

Я строю Iroha, для которого я запускаю скрипт для настройки среды, который внутренне вызывает docker-compose.yml, где я получаю сообщение об ошибке:

ERROR: yaml.parser.ParserError: while parsing a block mapping
  in "/home/cdac/iroha/docker/docker-compose.yml", line 3, column 5
expected <block end>, but found '<scalar>'
  in "/home/cdac/iroha/docker/docker-compose.yml", line 13, column 6

docker-composeФайл .yml показан ниже.

services:
  node:
    image: hyperledger/iroha:develop-build
    ports:
      - "${IROHA_PORT}:50051"
      - "${DEBUGGER_PORT}:20000"
    environment:
      - IROHA_POSTGRES_HOST=${COMPOSE_PROJECT_NAME}_postgres_1
      - IROHA_POSTGRES_PORT=5432
      - IROHA_POSTGRES_USER=iroha
      - IROHA_POSTGRES_PASSWORD=helloworld
      - CCACHE_DIR=/tmp/ccache
     export G_ID=$(id -g $(whoami))
     export U_ID=$(id -g $(whoami))
    user: ${U_ID:-0}:${G_ID:-0}
    depends_on:
      - postgres
    tty: true
    volumes:
      - ../:/opt/iroha
      - ccache-data:/tmp/ccache
    working_dir: /opt/iroha
    cap_add:
      - SYS_PTRACE
    security_opt:
      - seccomp:unconfined

  postgres:
    image: postgres:9.5
    environment:
      - POSTGRES_USER=iroha
      - IROHA_POSTGRES_PASSWORD=helloworld
    command: -c 'max_prepared_transactions=100'

volumes:
  ccache-data:

любая помощь будет признательна, заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 24 января 2019

@ MostafaHussein Я удалил вышеупомянутые 3 строки, затем выполнил скрипт run-iroha-dev.sh, и он начал работать.он прикрепил меня к / opt / iroha в контейнере докера и загрузил образы hyperledger / iroha: develop-build и iroha и запустил два контейнера.это то же самое, что вы предлагаете?

0 голосов
/ 22 января 2019

Эти строки не относятся к синтаксису docker-compose

 export G_ID=$(id -g $(whoami))
 export U_ID=$(id -g $(whoami))

Также эта строка не сможет работать должным образом

user: ${U_ID:-0}:${G_ID:-0}

Вы должны написать свой собственный скрипт оболочки ииспользуйте его в качестве точки входа для док-контейнера (это должно быть сделано на шаге Dockerfile), затем запустите контейнер непосредственно из созданного вами изображения без необходимости назначать пользователя или экспортировать что-либо в docker-compose какон будет выполнен, как только ваш контейнер будет запущен.

Проверьте следующий URL-адрес, который содержит более подробное описание разрешенных ключевых слов в docker-compose: Составной файл: Справочник по настройке службы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...