Как получить доступ к открытым контейнерам с помощью docker-compose и Hyperledger Sawtooth? - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь запустить голую версию Hyperledger Sawtooth, используя Docker CE на Mac.В docker-compose.yaml есть контейнеры, запускающие базовые образы из Sawtooth.

Я не могу получить доступ к Sawtooth REST API с хост-машины, даже если для него запущены порты, когда я запускаю docker ps.Файл docker-compose работал на других компьютерах Mac с Docker CE, поэтому я подозреваю, что это может быть проблема конфигурации или настройки.

Содержимое файла docker-compose.yaml приведено ниже:

version: '2.1'

services:
  settings-tp:
    image: 'hyperledger/sawtooth-settings-tp:1.1.3'
    container_name: sawtooth-settings-tp
    depends_on:
      - validator
    entrypoint: settings-tp --connect tcp://validator:4004

  identity-tp:
    image: 'hyperledger/sawtooth-identity-tp:1.1.3'
    container_name: sawtooth-identity-tp
    depends_on:
    - validator
    entrypoint: identity-tp -vv --connect tcp://validator:4004

  rest-api:
    image: 'hyperledger/sawtooth-rest-api:1.1.3'
    container_name: sawtooth-rest-api
    ports:
      - '8008:8008'
    depends_on:
      - validator
    entrypoint: sawtooth-rest-api --connect tcp://validator:4004 --bind rest-api:8008

  validator:
    image: 'hyperledger/sawtooth-validator:1.1.3'
    container_name: sawtooth-validator
    ports:
      - '4004:4004'
    command: |
      bash -c "
        if [ ! -f /etc/sawtooth/keys/validator.priv ]; then
          sawadm keygen
          sawtooth keygen my_key
          sawset genesis -k /root/.sawtooth/keys/my_key.priv
          sawset proposal create \
                    -k /root/.sawtooth/keys/my_key.priv \
                    sawtooth.consensus.algorithm.name=Devmode \
                    sawtooth.consensus.algorithm.version=0.1 \
                    -o config.batch && \
          sawadm genesis config-genesis.batch config.batch
        fi;
        sawtooth-validator -vvv \
          --endpoint tcp://validator:8800 \
          --bind component:tcp://eth0:4004 \
          --bind network:tcp://eth0:8800 \
          --bind consensus:tcp://eth0:5050 \
      "

  devmode-engine:
    image: 'hyperledger/sawtooth-devmode-engine-rust:1.1.3'
    container_name: sawtooth-devmode-engine-rust-default
    depends_on:
    - validator
    entrypoint: devmode-engine-rust -C tcp://validator:5050

1 Ответ

0 голосов
/ 03 апреля 2019

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

Что показывает docker ps -a?

Можете ли вы подключиться к порту? Попробуйте что-то вроде telnet localhost 8008

...