Как исправить docker -compose.yml? ожидается , но нашел '<scalar>' - PullRequest
0 голосов
/ 14 июля 2020

Как исправить docker -compose.yml? ожидалось, но обнаружено ''

ОШИБКА: yaml.parser.ParserError: при синтаксическом анализе коллекции блоков в testnode.yml, строка 11, столбец 7 expected <block end>, but found '<scalar>' в testnode.yml, строка 11, столбец 18

Как это исправить?

version: '3'

services:
  uip-dns:
    container_name: uip-dns
    working_dir: /build
    image: "alpine"
    ports:
      - "26668:26668"
    volumes:
      - {{build}}:/build:Z
    command: ./dns
    networks:
      nsb_net:
        ipv4_address: 192.167.233.2
  node:
    container_name: node
    image: "tendermint-nsb/node"
    ports:
      - "26656-26657:26656-26657"
    environment:
      - PORT=:27667
      - DB_DIR=./data100/
      - TCP_AD=tcp://0.0.0.0:27667
      - ID=100
      - LOG=${LOG:-tendermint.log}
      - UIP_CHAIN_DNS=http://uip-dns:26668
    volumes:
      - {{build}}:/tendermint:Z
    command: node --rpc.laddr=tcp://0.0.0.0:26657 --proxy_app=tcp://0.0.0.0:27667
    networks:
      nsb_net:
        ipv4_address: 192.167.233.233

networks:
  nsb_net:
   # external: true
   driver: bridge
   ipam:
     driver: default
     config:
     -
       subnet: 192.167.232.0/22

1 Ответ

1 голос
/ 14 июля 2020

{{build}} недействителен для docker -compose.yml. Это похоже на шаблон golang, который обычно раскрывается перед передачей файла в docker -compose. Вы захотите заменить это строкой или определенной переменной. Например,

version: '3'

services:
  uip-dns:
    container_name: uip-dns
    working_dir: /build
    image: "alpine"
    ports:
      - "26668:26668"
    volumes:
      - ${build_dir:-./build}:/build:Z
    command: ./dns
    networks:
      nsb_net:
        ipv4_address: 192.167.233.2
  node:
    container_name: node
    image: "tendermint-nsb/node"
    ports:
      - "26656-26657:26656-26657"
    environment:
      - PORT=:27667
      - DB_DIR=./data100/
      - TCP_AD=tcp://0.0.0.0:27667
      - ID=100
      - LOG=${LOG:-tendermint.log}
      - UIP_CHAIN_DNS=http://uip-dns:26668
    volumes:
      - ${build_dir:-./build}:/tendermint:Z
    command: node --rpc.laddr=tcp://0.0.0.0:26657 --proxy_app=tcp://0.0.0.0:27667
    networks:
      nsb_net:
        ipv4_address: 192.167.233.233

networks:
  nsb_net:
   # external: true
   driver: bridge
   ipam:
     driver: default
     config:
     - subnet: 192.167.232.0/22

Я также настоятельно рекомендую избавиться от всех фиксированных IP-адресов для su bnet и контейнеров. Это нарушает переносимость, возможность масштабирования, непрерывное обновление и различные другие функции. Вместо этого используйте опубликованный порт и IP-адрес хоста или DNS docker между контейнерами, если это возможно ( ссылка ).

...