IBM-Blockchain-Archive / marbles

WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. The repository will be kept available in read-only mode.
Apache License 2.0
1.02k stars 977 forks source link

can we change the PORTs in docker-compose.yml? #144

Closed nirmal1988 closed 7 years ago

nirmal1988 commented 7 years ago

we are trying to run two instance of marbles application on same docker but when we run one marbles application and then we try to run second marbles application it gives the error like port is already used.

And when i changed some random port in docker-compose.yml which is available, it fails to create channel.

So which ports are available for ca, orderer, peer?

dhyey20 commented 7 years ago

@nirmal1988 Can you share the ports part of marbles application, the one that works and the one that does not?

dshuffma-ibm commented 7 years ago

The ports used by the ca, orderer, and peer for the default setup are 7050, 7051, 7053, 7054. You should leave those as is.

@nirmal1988 if you need to run marbles on a different port, change it in your marbles JSON file. Such as this one. Right now its using port 3001, you could try 3002, or 3000, or 8080, or 80, etc...

There are 3 similar files in that config file. You should edit the one you are using based on the command you ran to start marbles. If you are using gulp marbles_local to run, then edit marbles_local.json.

nirmal1988 commented 7 years ago

The ports used by the ca, orderer, and peer for the default setup are 7050, 7051, 7053, 7054. You should leave those as is.

I am running one marbles application which is using above ports and i want to run another(second) marbles application on the same machine and same docker. But when i run the another(second) application it shows me the error that ports are already in use(in first marbles app) and here i have changed names of the ca, orderer and peer(ports are same as the first app).

So my question is- In second marbles application which ports should i use in marbles\fabric-samples\basic-network\docker-compose.yml for ca, orderer and peer?

Here is my first docker-compose.yml(first marbles application) changed the extension to txt as yml is not allowed here docker-compose.yml.txt

And here is my second docker-compose.yml(second marbles application), here i have changed the names of ca, orderer and peer. docker-compose1.yml.txt

dshuffma-ibm commented 7 years ago

Lets backup for a second. Running the marbles application takes 1 port. This is a single node.js process. It defaults to 3001. If you want to run a second marbles application you only need to set the 2nd instance to use another port, such as 3002 (could be any valid port that's not in use). You do not need to modify the docker compose script for this.

If you want to run two networks on 1 host then you need to modify the docker-compose script to choose different ports and container names for the CA/Orderer/Peer. You have already changed the names. For the ports, it can be anything you want, as long as its consistently changed and not currently in use.

I'm curious if you really want to run two networks. If you only want independent marbles applications this is unnecessary.

nirmal1988 commented 7 years ago

Thanks...

Yes i want to run two networks on 1 host but i am not sure which ports to use for ca, orderer and peer.

I tried to run second marbles app with some random ports but it gives me unavailable error.

So do u have any sample running on different ports???

On Thursday, September 7, 2017, dshuffma-ibm notifications@github.com wrote:

Lets backup for a second. Running the marbles application takes 1 port. This is a single node.js process. It defaults to 3001. If you want to run a second marbles application you only need to set the 2nd instance to use another port, such as 3002 (could be any valid port that's not in use). You do not need to modify the docker compose script for this.

If you want to run two networks on 1 host then you need to modify the docker-compose script to choose different ports and container names for the CA/Orderer/Peer. You have already changed the names. For the ports, it can be anything you want, as long as its consistently changed and not currently in use.

I'm curious if you really want to run two networks. If you only want independent marbles applications this is unnecessary.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/IBM-Blockchain/marbles/issues/144#issuecomment-327799332, or mute the thread https://github.com/notifications/unsubscribe-auth/AOUjvp_923HO64-F09LL5UHAVLYzJRlIks5sf--vgaJpZM4POMCR .

-- Thanks & Regards, Nirmal Patel

nirmal1988 commented 7 years ago

@dshuffma-ibm any update on this??

Thanks...

dshuffma-ibm commented 7 years ago

it really doesn't matter which ports you pick, as long as they are not already in use by your system. Your first network is using ports 7050, 7051, 7053, 7054, you could make your second network use 8050, 8051, 8053, 8054.

Do you have a screen shot of your error?

I'm still curious as to why you want to run two networks. This is unnecessary for most use cases. You can leverage channels on a single network to have isolation from 1 demo from another.

dshuffma-ibm commented 7 years ago

closing, inactivity