Hyperledger

본문 바로가기
사이트 내 전체검색


Hyperledger
Hyperledger

10. Hyperledger Fablic Sambles - First Network 실습

페이지 정보

작성자 관리자 댓글 0건 조회 2,806회 작성일 19-11-27 12:16

본문

10. Hyperledger Fablic Sambles - First Network 실습

Hyperledger Fabric sample download 


# cd ~/hyperledger

# git clone https://github.com/hyperledger/fabric-samples.git


# cd fabric-samples


# Fetch bootstrap.sh from fabric repository using

curl -sS https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh -o ./scripts/bootstrap.sh

# Change file mode to executable

chmod +x ./scripts/bootstrap.sh

# Download binaries and docker images

./scripts/bootstrap.sh [version] [ca version] [thirdparty_version]

root@client:~/hyperledger/fabric-samples# curl -sS https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh -o ./scripts/bootstrap.sh

root@client:~/hyperledger/fabric-samples# chmod 755 scripts/bootstrap.sh
root@client:~/hyperledger/fabric-samples# ./scripts/bootstrap.sh -s
 

===> List out hyperledger docker images
hyperledger/fabric-javaenv     1.4.0               3d91b3bf7118        2 months ago        1.75GB
hyperledger/fabric-javaenv     latest              3d91b3bf7118        2 months ago        1.75GB
hyperledger/fabric-tools       1.4.0               0a44f4261a55        2 months ago        1.56GB
hyperledger/fabric-tools       latest              0a44f4261a55        2 months ago        1.56GB
hyperledger/fabric-ccenv       1.4.0               5b31d55f5f3a        2 months ago        1.43GB
hyperledger/fabric-ccenv       latest              5b31d55f5f3a        2 months ago        1.43GB
hyperledger/fabric-orderer     1.4.0               54f372205580        2 months ago        150MB
hyperledger/fabric-orderer     latest              54f372205580        2 months ago        150MB
hyperledger/fabric-peer        1.4.0               304fac59b501        2 months ago        157MB
hyperledger/fabric-peer        latest              304fac59b501        2 months ago        157MB
hyperledger/fabric-ca          1.4.0               1a804ab74f58        2 months ago        244MB
hyperledger/fabric-ca          latest              1a804ab74f58        2 months ago        244MB
hyperledger/fabric-zookeeper   0.4.14              d36da0db87a4        5 months ago        1.43GB
hyperledger/fabric-zookeeper   latest              d36da0db87a4        5 months ago        1.43GB
hyperledger/fabric-kafka       0.4.14              a3b095201c66        5 months ago        1.44GB
hyperledger/fabric-kafka       latest              a3b095201c66        5 months ago        1.44GB
hyperledger/fabric-couchdb     0.4.14              f14f97292b4c        5 months ago        1.5GB
hyperledger/fabric-couchdb     latest              f14f97292b4c        5 months ago        1.5GB
root@leelab:~/hyperledger/fabric-samples#
 

root@leelab:~/hyperledger/fabric-samples# ls bin
configtxgen    cryptogen  fabric-ca-client idemixgen  peer
configtxlator  discover   get-docker-images.sh orderer
root@leelab:~/hyperledger/fabric-samples#


root@leelab:~/hyperledger/fabric-samples# mkdir ~/bin
root@leelab:~/hyperledger/fabric-samples# ln -s $(pwd)/bin/* ~/bin/
root@leelab:~/hyperledger/fabric-samples# ls -l ~/bin/
합계 0
lrwxrwxrwx 1 root root 48  3월 22 22:23 configtxgen -> /root/hyperledger/fabric-samples/bin/configtxgen
lrwxrwxrwx 1 root root 50  3월 22 22:23 configtxlator -> /root/hyperledger/fabric-samples/bin/configtxlator
lrwxrwxrwx 1 root root 46  3월 22 22:23 cryptogen -> /root/hyperledger/fabric-samples/bin/cryptogen
lrwxrwxrwx 1 root root 45  3월 22 22:23 discover -> /root/hyperledger/fabric-samples/bin/discover
lrwxrwxrwx 1 root root 53  3월 22 22:23 fabric-ca-client -> /root/hyperledger/fabric-samples/bin/fabric-ca-client
lrwxrwxrwx 1 root root 57  3월 22 22:23 get-docker-images.sh -> /root/hyperledger/fabric-samples/bin/get-docker-images.sh
lrwxrwxrwx 1 root root 46  3월 22 22:23 idemixgen -> /root/hyperledger/fabric-samples/bin/idemixgen
lrwxrwxrwx 1 root root 44  3월 22 22:23 orderer -> /root/hyperledger/fabric-samples/bin/orderer
lrwxrwxrwx 1 root root 41  3월 22 22:23 peer -> /root/hyperledger/fabric-samples/bin/peer
root@leelab:~/hyperledger/fabric-samples#  



Building Your First Network



root@leelab:~/hyperledger/fabric-samples# cd first-network/
root@leelab:~/hyperledger/fabric-samples/first-network# ./byfn.sh --help
Usage:
  byfn.sh <mode> [-c <channel name>] [-t <timeout>] [-d <delay>] [-f <docker-compose-file>] [-s <dbtype>] [-l <language>] [-o <consensus-type>] [-i <imagetag>] [-v]
    <mode> - one of 'up', 'down', 'restart', 'generate' or 'upgrade'
      - 'up' - bring up the network with docker-compose up
      - 'down' - clear the network with docker-compose down
      - 'restart' - restart the network
      - 'generate' - generate required certificates and genesis block
      - 'upgrade'  - upgrade the network from version 1.3.x to 1.4.0
    -c <channel name> - channel name to use (defaults to "mychannel")
    -t <timeout> - CLI timeout duration in seconds (defaults to 10)
    -d <delay> - delay duration in seconds (defaults to 3)
    -f <docker-compose-file> - specify which docker-compose file use (defaults to docker-compose-cli.yaml)
    -s <dbtype> - the database backend to use: goleveldb (default) or couchdb
    -l <language> - the chaincode language: golang (default) or node
    -o <consensus-type> - the consensus-type of the ordering service: solo (default) or kafka
    -i <imagetag> - the tag to be used to launch the network (defaults to "latest")
    -v - verbose mode
  byfn.sh -h (print this message)

Typically, one would first generate the required certificates and
genesis block, then bring up the network. e.g.:

 byfn.sh generate -c mychannel
 byfn.sh up -c mychannel -s couchdb
        byfn.sh up -c mychannel -s couchdb -i 1.4.0
 byfn.sh up -l node
 byfn.sh down -c mychannel
        byfn.sh upgrade -c mychannel

Taking all defaults:
 byfn.sh generate
 byfn.sh up
 byfn.sh down
root@leelab:~/hyperledger/fabric-samples/first-network#
 


Generate Network Artifacts


root@leelab:~/hyperledger/fabric-samples/first-network# ./byfn.sh generate
Generating certs and genesis block for channel 'mychannel' with CLI timeout of '10' seconds and CLI delay of '3' seconds
Continue? [Y/n]
proceeding ...
/root/hyperledger/fabric-samples/first-network/../bin/cryptogen

##########################################################
##### Generate certificates using cryptogen tool #########
##########################################################
+ cryptogen generate --config=./crypto-config.yaml
org1.example.com
org2.example.com
+ res=0
+ set +x

/root/hyperledger/fabric-samples/first-network/../bin/configtxgen
##########################################################
#########  Generating Orderer Genesis block ##############
##########################################################
CONSENSUS_TYPE=solo
+ '[' solo == solo ']'
+ configtxgen -profile TwoOrgsOrdererGenesis -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block
2019-03-22 22:26:38.517 KST [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-03-22 22:26:38.655 KST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 002 orderer type: solo
2019-03-22 22:26:38.655 KST [common.tools.configtxgen.localconfig] Load -> INFO 003 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-03-22 22:26:38.786 KST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 004 orderer type: solo
2019-03-22 22:26:38.786 KST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 005 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-03-22 22:26:38.792 KST [common.tools.configtxgen] doOutputBlock -> INFO 006 Generating genesis block
2019-03-22 22:26:38.792 KST [common.tools.configtxgen] doOutputBlock -> INFO 007 Writing genesis block
+ res=0
+ set +x

#################################################################
### Generating channel configuration transaction 'channel.tx' ###
#################################################################
+ configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID mychannel
2019-03-22 22:26:38.906 KST [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-03-22 22:26:39.036 KST [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-03-22 22:26:39.171 KST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
2019-03-22 22:26:39.171 KST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-03-22 22:26:39.171 KST [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 005 Generating new channel configtx
2019-03-22 22:26:39.180 KST [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 006 Writing new channel tx
+ res=0
+ set +x

#################################################################
#######    Generating anchor peer update for Org1MSP   ##########
#################################################################
+ configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID mychannel -asOrg Org1MSP
2019-03-22 22:26:39.335 KST [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-03-22 22:26:39.460 KST [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-03-22 22:26:39.584 KST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
2019-03-22 22:26:39.584 KST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-03-22 22:26:39.584 KST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 005 Generating anchor peer update
2019-03-22 22:26:39.584 KST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 006 Writing anchor peer update
+ res=0
+ set +x

#################################################################
#######    Generating anchor peer update for Org2MSP   ##########
#################################################################
+ configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID mychannel -asOrg Org2MSP
2019-03-22 22:26:39.709 KST [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-03-22 22:26:39.827 KST [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-03-22 22:26:39.966 KST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
2019-03-22 22:26:39.966 KST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-03-22 22:26:39.966 KST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 005 Generating anchor peer update
2019-03-22 22:26:39.967 KST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 006 Writing anchor peer update
+ res=0
+ set +x



root@leelab:~/hyperledger/fabric-samples/first-network# ls
README.md    crypto-config.yaml       docker-compose-kafka.yaml
base     docker-compose-cli.yaml      docker-compose-org3.yaml
byfn.sh     docker-compose-couch-org3.yaml    eyfn.sh
channel-artifacts  docker-compose-couch.yaml      org3-artifacts
configtx.yaml    docker-compose-e2e-template.yaml  scripts
crypto-config    docker-compose-e2e.yaml
root@leelab:~/hyperledger/fabric-samples/first-network#  


Bring Up the Network


root@leelab:~/hyperledger/fabric-samples/first-network# ./byfn.sh  up
Starting for channel 'mychannel' with CLI timeout of '10' seconds and CLI delay of '3' seconds
Continue? [Y/n]
proceeding ...
LOCAL_VERSION=1.4.0
DOCKER_IMAGE_VERSION=1.4.0
Creating network "net_byfn" with the default driver
Creating volume "net_peer0.org2.example.com" with default driver
Creating volume "net_peer1.org2.example.com" with default driver
Creating volume "net_peer1.org1.example.com" with default driver
Creating volume "net_peer0.org1.example.com" with default driver
Creating volume "net_orderer.example.com" with default driver
Creating peer0.org2.example.com ...
Creating peer0.org1.example.com ...
Creating peer1.org1.example.com ...
Creating peer1.org2.example.com ...
Creating orderer.example.com ...
Creating peer0.org2.example.com
Creating peer0.org1.example.com
Creating peer1.org1.example.com
Creating peer1.org2.example.com
Creating peer1.org1.example.com ... done
Creating cli ...
Creating cli ... done

 ____    _____      _      ____    _____
/ ___|  |_   _|    / \    |  _ \  |_   _|
\___ \    | |     / _ \   | |_) |   | | 
 ___) |   | |    / ___ \  |  _ <    | | 
|____/    |_|   /_/   \_\ |_| \_\   |_| 

Build your first network (BYFN) end-to-end test

Channel name : mychannel
Creating channel...
+ peer channel create -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/channel.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
+ res=0
+ set +x
2019-03-22 13:28:49.957 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-03-22 13:28:50.077 UTC [cli.common] readBlock -> INFO 002 Received block: 0
===================== Channel 'mychannel' created =====================

Having all peers join the channel...
+ peer channel join -b mychannel.block
+ res=0
+ set +x
2019-03-22 13:28:50.264 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-03-22 13:28:50.382 UTC [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel
===================== peer0.org1 joined channel 'mychannel' =====================

+ peer channel join -b mychannel.block
+ res=0
+ set +x
2019-03-22 13:28:53.587 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-03-22 13:28:53.687 UTC [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel
===================== peer1.org1 joined channel 'mychannel' =====================

+ peer channel join -b mychannel.block
+ res=0
+ set +x
2019-03-22 13:28:56.867 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-03-22 13:28:56.977 UTC [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel
===================== peer0.org2 joined channel 'mychannel' =====================

+ peer channel join -b mychannel.block
+ res=0
+ set +x
2019-03-22 13:29:00.156 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-03-22 13:29:00.269 UTC [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel
===================== peer1.org2 joined channel 'mychannel' =====================

Updating anchor peers for org1...
+ peer channel update -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/Org1MSPanchors.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
+ res=0
+ set +x
2019-03-22 13:29:03.490 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-03-22 13:29:03.521 UTC [channelCmd] update -> INFO 002 Successfully submitted channel update
===================== Anchor peers updated for org 'Org1MSP' on channel 'mychannel' =====================

Updating anchor peers for org2...
+ peer channel update -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/Org2MSPanchors.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
+ res=0
+ set +x
2019-03-22 13:29:06.693 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-03-22 13:29:06.725 UTC [channelCmd] update -> INFO 002 Successfully submitted channel update
===================== Anchor peers updated for org 'Org2MSP' on channel 'mychannel' =====================

Installing chaincode on peer0.org1...
+ peer chaincode install -n mycc -v 1.0 -l golang -p github.com/chaincode/chaincode_example02/go/
+ res=0
+ set +x
2019-03-22 13:29:09.886 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-03-22 13:29:09.886 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2019-03-22 13:29:11.269 UTC [chaincodeCmd] install -> INFO 003 Installed remotely response:<status:200 payload:"OK" >
===================== Chaincode is installed on peer0.org1 =====================

Install chaincode on peer0.org2...
+ peer chaincode install -n mycc -v 1.0 -l golang -p github.com/chaincode/chaincode_example02/go/
+ res=0
+ set +x
2019-03-22 13:29:11.472 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-03-22 13:29:11.472 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2019-03-22 13:29:11.732 UTC [chaincodeCmd] install -> INFO 003 Installed remotely response:<status:200 payload:"OK" >
===================== Chaincode is installed on peer0.org2 =====================

Instantiating chaincode on peer0.org2...
+ peer chaincode instantiate -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc -l golang -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P 'AND ('''Org1MSP.peer''','''Org2MSP.peer''')'

+ res=0
+ set +x
2019-03-22 13:29:11.893 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-03-22 13:29:11.893 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
===================== Chaincode is instantiated on peer0.org2 on channel 'mychannel' =====================

Querying chaincode on peer0.org1...
===================== Querying on peer0.org1 on channel 'mychannel'... =====================
Attempting to Query peer0.org1 ...3 secs
+ peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

+ res=0
+ set +x

100
===================== Query successful on peer0.org1 on channel 'mychannel' =====================
Sending invoke transaction on peer0.org1 peer0.org2...
+ peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses peer0.org2.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"Args":["invoke","a","b","10"]}'
+ res=0
+ set +x
2019-03-22 13:31:52.207 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001 Chaincode invoke successful. result: status:200
===================== Invoke transaction successful on peer0.org1 peer0.org2 on channel 'mychannel' =====================

Installing chaincode on peer1.org2...
+ peer chaincode install -n mycc -v 1.0 -l golang -p github.com/chaincode/chaincode_example02/go/
+ res=0
+ set +x
2019-03-22 13:31:52.401 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-03-22 13:31:52.401 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2019-03-22 13:31:53.522 UTC [chaincodeCmd] install -> INFO 003 Installed remotely response:<status:200 payload:"OK" >
===================== Chaincode is installed on peer1.org2 =====================

Querying chaincode on peer1.org2...
===================== Querying on peer1.org2 on channel 'mychannel'... =====================
Attempting to Query peer1.org2 ...3 secs
+ peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

+ res=0
+ set +x

90
===================== Query successful on peer1.org2 on channel 'mychannel' =====================

========= All GOOD, BYFN execution completed ===========


 _____   _   _   ____  
| ____| | \ | | |  _ \ 
|  _|   |  \| | | | | |
| |___  | |\  | | |_| |
|_____| |_| \_| |____/ 

root@leelab:~/hyperledger/fabric-samples/first-network#
 


Bring Down the Network 



root@leelab:~/hyperledger/fabric-samples/first-network# ./byfn.sh down
Stopping for channel 'mychannel' with CLI timeout of '10' seconds and CLI delay of '3' seconds
Continue? [Y/n]
proceeding ...
Stopping cli                    ... done
Stopping orderer.example.com    ... done
Stopping peer1.org2.example.com ... done
Stopping peer1.org1.example.com ... done
Stopping peer0.org1.example.com ... done
Stopping peer0.org2.example.com ... done
Removing cli                    ... done
Removing orderer.example.com    ... done
Removing peer1.org2.example.com ... done
Removing peer1.org1.example.com ... done
Removing peer0.org1.example.com ... done
Removing peer0.org2.example.com ... done
Removing network net_byfn
Removing volume net_peer0.org3.example.com
WARNING: Volume net_peer0.org3.example.com not found.
Removing volume net_peer1.org3.example.com
WARNING: Volume net_peer1.org3.example.com not found.
Removing volume net_orderer.example.com
Removing volume net_peer0.org2.example.com
Removing volume net_peer0.org1.example.com
Removing volume net_peer1.org1.example.com
Removing volume net_peer1.org2.example.com
b83cf5bdb8d3
bbbad3d9d1c1
742748ad15d9
Untagged: dev-peer1.org2.example.com-mycc-1.0-26c2ef32838554aac4f7ad6f100aca865e87959c9a126e86d764c8d01f8346ab:latest
Deleted: sha256:75f780e7525572b4d4497cbb6bcbcbd2ea6af286d400d54219046ec153859e5c
Deleted: sha256:256ec52ca2377989f6e9968fe21248ffd070b9274a8a1ac5a9f246bfd70f5f95
Deleted: sha256:370d7c3a57e234bd1f11f43ddcef2656c0ba4b02386d911f2d6cb8ec4991bb2d
Deleted: sha256:580422dd29e8d2105f9e24132a2fc1749c4a6dab4ebc5f9db57decafad70c4f3
Untagged: dev-peer0.org1.example.com-mycc-1.0-384f11f484b9302df90b453200cfb25174305fce8f53f4e94d45ee3b6cab0ce9:latest
Deleted: sha256:054f5d3283582d896c374bd95d9890cbc008a4a2ff50e28c673c7003b4fd2776
Deleted: sha256:91c20ae0b5d70117c262cc10c371359cb701f606216e2b35e1e217cdbae5aae0
Deleted: sha256:6590e3fd35b9fb58ffb3ce1f81984dd44eeed40cf981c9edc68ef620034799e6
Deleted: sha256:f1d6054c1ddd7d8a06033067edf9c7cd657efb3e1e7fc4a0e2ae538d921d6bb7
Untagged: dev-peer0.org2.example.com-mycc-1.0-15b571b3ce849066b7ec74497da3b27e54e0df1345daff3951b94245ce09c42b:latest
Deleted: sha256:07a455c8faf41d2666feda6ca62a0f82fa1978910d1a4bc29528c2ca8ddd65a2
Deleted: sha256:103072f059e15ccbbb4256b4fbb1a37de370e631a3bbb410a42324b0802c0854
Deleted: sha256:82615cecd9af0338332675956e9cece47c53c7aaa78dbe25409ff584daf29a17
Deleted: sha256:5c4160a7da089d70467808ef90d3409e8d4b2d306f0503c0ee3af8cb1f760e08
root@leelab:~/hyperledger/fabric-samples/first-network#  


root@leelab:~/hyperledger/fabric-samples/first-network# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
root@leelab:~/hyperledger/fabric-samples/first-network# docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
hyperledger/fabric-javaenv     1.4.0               3d91b3bf7118        2 months ago        1.75GB
hyperledger/fabric-javaenv     latest              3d91b3bf7118        2 months ago        1.75GB
hyperledger/fabric-tools       1.4.0               0a44f4261a55        2 months ago        1.56GB
hyperledger/fabric-tools       latest              0a44f4261a55        2 months ago        1.56GB
hyperledger/fabric-ccenv       1.4.0               5b31d55f5f3a        2 months ago        1.43GB
hyperledger/fabric-ccenv       latest              5b31d55f5f3a        2 months ago        1.43GB
hyperledger/fabric-orderer     1.4.0               54f372205580        2 months ago        150MB
hyperledger/fabric-orderer     latest              54f372205580        2 months ago        150MB
hyperledger/fabric-peer        1.4.0               304fac59b501        2 months ago        157MB
hyperledger/fabric-peer        latest              304fac59b501        2 months ago        157MB
hyperledger/fabric-ca          1.4.0               1a804ab74f58        2 months ago        244MB
hyperledger/fabric-ca          latest              1a804ab74f58        2 months ago        244MB
hyperledger/fabric-zookeeper   0.4.14              d36da0db87a4        5 months ago        1.43GB
hyperledger/fabric-zookeeper   latest              d36da0db87a4        5 months ago        1.43GB
hyperledger/fabric-kafka       0.4.14              a3b095201c66        5 months ago        1.44GB
hyperledger/fabric-kafka       latest              a3b095201c66        5 months ago        1.44GB
hyperledger/fabric-couchdb     0.4.14              f14f97292b4c        5 months ago        1.5GB
hyperledger/fabric-couchdb     latest              f14f97292b4c        5 months ago        1.5GB
hyperledger/fabric-baseos      amd64-0.4.14        75f5fb1a0e0c        5 months ago        124MB


docker 이미지 삭제시 아래 명령을 실행한다.


root@leelab:~/hyperledger/fabric-samples/first-network# docker images -q | xargs docker rmi -f 


root 가 아닌 사용자로 실행시에는 추가로 root 사용자로 생성된 crypto-config 와 genesis.block 삭제 필요함
# rm -fr crypto-config channel-artifacts/genesis.block

댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.