天天看點

菜鳥小白ubuntu16.04建成fabric1.0Docker CE鏡像源站

使用VirtualBox并在其中安裝好Ubuntu

這一步其實沒啥好說的,下載下傳好最新版的VirtualBox,下載下傳Ubuntu Server,我用的是Ubuntu16.04.2 X64 Server。在安裝完Ubuntu後,需要保證apt source是國内的,不然如果是國外的話會很慢很慢的。具體做法是

sudo vi /etc/apt/sources.list      

打開這個apt源清單,如果其中看到是http://us.xxxxxx之類的,那麼就是外國的,如果看到是http://cn.xxxxx之類的,那麼就不用換的。我的是美國的源,是以需要做一下批量的替換。在指令模式下,輸入:

:%s/us./cn./g      

就可以把所有的us.改為cn.了。然後輸入:wq即可儲存退出。

sudo apt-get update      

更新一下源。

然後安裝ssh,這樣接下來就可以用putty或者SecureCRT之類的用戶端遠端連接配接Ubuntu了。

sudo apt-get install ssh      

2. Go的安裝

Ubuntu的apt-get雖然提供了Go的安裝,但是版本比較舊,最好的方法還是參考官方網站 https://golang.org/dl/ ,下載下傳最新版的Go。具體涉及到的指令包括:

wget https://storage.googleapis.com/golang/go1.10.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.10.linux-amd64.tar.gz
      

接下來編輯目前使用者的環境變量:

vi ~/.profile      

添加以下内容:

export PATH=$PATH:/usr/local/go/bin 
export GOROOT=/usr/local/go 
export GOPATH=$HOME/go 
export PATH=$PATH:$HOME/go/bin      

編輯儲存并退出vi後,記得把這些環境載入:

source ~/.profile      

我們把go的目錄GOPATH設定為目前使用者的檔案夾下,是以記得建立go檔案夾

cd ~
mkdir go      

3. Docker-CE安裝

由于docker鏡像有時候不正常,請改成docker-ce

Docker CE鏡像源站

使用官方安裝腳本自動安裝

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
           

手動安裝幫助

Ubuntu  16.04(使用apt-get進行安裝)

# step 1: 安裝必要的一些系統工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安裝GPG證書
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 寫入軟體源資訊
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安裝 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
              # 安裝指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安裝指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]           

4. Docker-Compose的安裝

這裡注冊下阿裡雲https://cr.console.aliyun.com/cn-hangzhou/mirrors,psv50kmi是我的賬号

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://psv50kmi.mirror.aliyuncs.com"] }

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

5. Fabric源碼下載下傳

我們可以使用Git指令下載下傳源碼,首先需要建立對應的目錄,然後進入該目錄,Git下載下傳源碼:      
mkdir -p ~/go/src/github.com/hyperledger 
cd ~/go/src/github.com/hyperledger 
git clone https://github.com/hyperledger/fabric.git      

由于Fabric一直在更新,所有我們并不需要最新最新的源碼,需要切換到v1.0.0版本的源碼即可:

cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0      

6. Fabric Docker鏡像的下載下傳

這個其實很簡單,因為我們已經設定了Docker Hub鏡像位址,是以下載下傳也會很快。官方檔案也提供了批量下載下傳的腳本。我們直接運作:

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0      

這樣就可以下載下傳所有需要的Fabric Docker鏡像了。由于我們設定了國内的鏡像,是以下載下傳應該是比較快的。

下載下傳完畢後,我們運作以下指令檢查下載下傳的鏡像清單:

docker images      

7.啟動Fabric網絡并完成ChainCode的測試

我們仍然停留在e2e_cli檔案夾,這裡提供了啟動、關閉Fabric網絡的自動化腳本。我們要啟動Fabric網絡,并自動運作Example02 ChainCode的測試,執行一個指令:

./network_setup.sh up      

這個做了以下操作:

7.1編譯生成Fabric公私鑰、證書的程式,程式在目錄:fabric/release/linux-amd64/bin

7.2基于configtx.yaml生成創世區塊和通道相關資訊,并儲存在channel-artifacts檔案夾。

7.3基于crypto-config.yaml生成公私鑰和證書資訊,并儲存在crypto-config檔案夾中。

7.4基于docker-compose-cli.yaml啟動1Orderer+4Peer+1CLI的Fabric容器。

7.5在CLI啟動的時候,會運作scripts/script.sh檔案,這個腳本檔案包含了建立Channel,加入Channel,安裝Example02,運作Example02等功能。

8.手動測試一下Fabric網絡

我們仍然是以現在安裝好的Example02為例,在官方例子中,channel名字是mychannel,鍊碼的名字是mycc。我們首先進入CLI,我們重新打開一個指令行視窗,輸入:

docker exec -it cli bash      

由于版本1.0有問題,請改一條

sudo vim peer_bash.yaml 

e2ecli改成e2e_cli

轉載:https://www.cnblogs.com/studyzy/p/7437157.html

繼續閱讀