docker 筆記

miss201發表於2018-11-16

docker

  1.備份映象: docker save IMAGE_ID > XXX-1.1.tar.gz
  2.映象匯入: docker load < xxx-1.1.tar.gz
  3. 檢視容器的後10行日誌 docker logs -f -t --tail 10 orderer.example.com

docker-compose 配置問題:

    # the following setting starts chaincode containers on the same
    # bridge network as the peers
    # https://docs.docker.com/compose/networking/
   - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default
   networkmode 的命名方式是以當前的資料夾目錄加上_default,
   在這個資料夾下的所有啟動檔案都會在這個網路裡面。
   要注意一點:要保持配置檔案的版本號一致:yaml檔案裡的版本號 version:2,
   如果沒有配置版本號,預設的不是version:2,CORE_VM_DOCKER_NETWORKMODE的
   生成規則就不是資料夾名+"_default",在這個資料夾下單獨啟動的某個服務,
   就會出現啟動容器不在同一個網路裡面,從而出現連線超時的問題。

fabric 的事件監聽

業務事件 setevent(): 當交易被記賬節點寫入賬本之後,就會觸發該事件。
個人不是很理解這個事件的具體應用場景,因為只能通過這個事件獲取到交易被寫入賬本了,
並不知道能獲取當前交易是否是有效的,從而不能根據這個事件去做相對應的邏輯處理。

系統事件:block/trancastion:
DEMO啟動命令:
./block-listener -events-address=peer0.org1.example.com:7053 
-events-mspdir=$GOPATH/src/github.com/hyperledger/fabric/examples/e2e_cli/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp 
-events-mspid=Org1MSP
啟動一個客戶端,在客戶端進行監聽,當客戶端接收到監聽事件的回撥資訊,
解析訊息裡的區塊的交易內容,從而判斷每筆交易是否有效。

當區塊被驗證為合法的,並且已經成功的寫入了檔案,索引資料庫以及更新了世界狀態之後,
就會觸發系統事件。

不卑不亢,不慌不忙,這才是生活的模樣。

相關文章