Hyperledger sawtooth installation: No connectivity between host computer and docker container

0 votes

I'm trying to check the connectivity from the host computer to the Docker container, running the following command:

curl http://localhost:8008/blocks

curl: (7) Failed to connect to localhost port 8008: Connection refused

Here is the yaml file:

version: "2.1"

services:

settings-tp:
image: hyperledger/sawtooth-settings-tp:1.0
container_name: sawtooth-settings-tp-default
depends_on:
  - validator
entrypoint: settings-tp -vv -C tcp://validator:4004

intkey-tp-python:
image: hyperledger/sawtooth-intkey-tp-python:1.0
container_name: sawtooth-intkey-tp-python-default
depends_on:
  - validator
entrypoint: intkey-tp-python -vv -C tcp://validator:4004

xo-tp-python:
image: hyperledger/sawtooth-xo-tp-python:1.0
container_name: sawtooth-xo-tp-python-default
depends_on:
  - validator
entrypoint: xo-tp-python -vv -C tcp://validator:4004

validator:
image: hyperledger/sawtooth-validator:1.0
container_name: sawtooth-validator-default
expose:
  - 4004
ports:
  - "4004:4004"
# start the validator with an empty genesis batch
entrypoint: "bash -c \"\
    sawadm keygen && \
    sawtooth keygen my_key && \
    sawset genesis -k /root/.sawtooth/keys/my_key.priv && \
    sawadm genesis config-genesis.batch && \
    sawtooth-validator -vv \
      --endpoint tcp://validator:8800 \
      --bind component:tcp://eth0:4004 \
      --bind network:tcp://eth0:8800 \
    \""

 rest-api:
 image: hyperledger/sawtooth-rest-api:1.0
 container_name: sawtooth-rest-api-default
 ports:
  - "8008:8008"
 depends_on:
  - validator
 entrypoint: sawtooth-rest-api -C tcp://validator:4004 --bind rest- api:8008

shell:
image: hyperledger/sawtooth-all:1.0
container_name: sawtooth-shell-default
depends_on:
  - rest-api
entrypoint: "bash -c \"\
    sawtooth keygen && \
    tail -f /dev/null \
    \""
Sep 18, 2018 in Blockchain by slayer
• 29,300 points
400 views

2 answers to this question.

0 votes

you should pass the port from local computer to Docker container.

more here

try to pass -p 8008:8008 as an argument when running the container

For example. docker run -d -p 8008:8008 my_image

answered Sep 18, 2018 by digger
• 26,680 points
Hello sir,

 Did you compeleted this connection refuse in sawtooth, can give me the format example of the yaml file.

because i am facing the same problem.

thanks sir

Hey, @Vignesh,

You can do one thing to avoid your error, in the first terminal when you force to stop or just stop sawtooth. So run sawtooth again and when checking connectivity in the host machine use:

curl http://192.168.99.100:8008/blocks

i.e

curl http://<your ip address>/blocks

I hope this helps.

0 votes
Check the ip used by docker. If you are using docker toolbox instead of localhost it uses a different ip which is displayed at the start. Check that and try again.
answered Jan 21, 2019 by Bhavana

Related Questions In Blockchain

+14 votes
5 answers

Difference between hyperledger fabric and sawtooth?

Source: https://www.hyperledger.org/wp-content/uploads/2017/ ...READ MORE

answered Aug 29, 2018 in Blockchain by Anurag
4,543 views
+1 vote
1 answer

What are the differences between the hyperledger and Blockchain?

To answer your first query.. Blockchain is ...READ MORE

answered Apr 5, 2018 in Blockchain by anonymous
475 views
+1 vote
1 answer
0 votes
1 answer
0 votes
1 answer

Invalid Batch or signature in Savtooth

This will solve your problem import org.apache.commons.codec.binary.Hex; Transaction txn ...READ MORE

answered Aug 1, 2018 in Blockchain by digger
• 26,680 points
218 views
+1 vote
1 answer
0 votes
1 answer
0 votes
1 answer

Difference between Fabric Composer and Hyperledger Composer?

They are basically the same thing. Fabric ...READ MORE

answered Aug 9, 2018 in Blockchain by digger
• 26,680 points
435 views