Ubuntu16.04環境でのNuclioのコンパイル

3235 ワード

一、コンパイル環境の要求:
1、Linux or OSX 2、git 3、Docker(バージョン17.05+は、NuclioがDockerのマルチステップコンパイル特性を使用しているため、17.05以上のバージョンでサポートされている)4、Go言語ツールチェーン(1.9バージョンでテスト、1.9バージョンが望ましい)5、GOPATHディレクトリの設定、GOPATH環境変数
6、Kubernetes 1.7+(多くの場合テストのため)-Minikubeの使用をお勧めします(Minikube公式サイトの指導教程に従ってインストールできます)
7、科学的なインターネットが必要で、今すぐ使ってもいいです(https://www.baa.com/modules/node.php)
二、操作手順をコンパイルする:
1、Nuclio公式GithubライブラリのFork Nuclioプロジェクトから自分のアカウントまで.
2、Githubからプロジェクトをローカルにクローンする:
git clone https://github.com/dy604/nuclio.git $GOPATH/src/github.com/nuclio/nuclio

3、nuclioフォルダに入りgit情報を表示する:
cd $GOPATH/src/github.com/nuclio/nuclio && git checkout development

4、go getコマンドを使用してNuclioのインストールに必要な依存パッケージを取得する:
go get github.com/v3io/v3io-go-http/... && go get github.com/nuclio/logger/... && go get github.com/nuclio/nuclio-sdk-go/... && go get github.com/nuclio/amqp/...

5、コンパイル構築コマンドを実行する:
make build

三、発生する可能性のある異常:
3.1、以上の手順4を実行した時に発生した異常:
異常3.1.1××××××××××××××××アクセスタイムアウト
package golang.org/x/net/context: unrecognized import path "golang.org/x/net/context"(https fetch: Get https://golang.org/x/net/context?go-get=1: dial tcp: lookup golang.org on 192.168.65.1:53: read udp 172.17.0.2:46904->192.168.65.1:53: i/o timeout)
エラー原因:国内Wallの原因
解決策:科学的にインターネットを利用して、最初に提供した案を参考にします.
異常3.1.2××××××××××××××××科学はインターネットを利用した後に間違いを報告して、Googleにアクセスすることができて、フェイスブック、ダウンロードすることができません
package golang.org/x/net/context: unrecognized import path "golang.org/x/net/context"(https fetch: Get https://golang.org/x/net/context?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
エラー原因:Wallの問題なのか、ネットパッケージを手動でインストールする必要があります.
解決策:ネットパッケージを手動でインストールする
操作コマンド:
$mkdir -p $GOPATH/src/golang.org/x/
$cd $GOPATH/src/golang.org/x/
$git clone https://github.com/golang/net.git net 
$go install net

3.2、以上の手順5を実行した時に発生した異常:
異常3.2.1×××××××××××××××× Error parsing reference: "golang:1.7.3 as builder" is not a valid repository/tag: invalid reference format
エラーの原因:Dockerバージョンは17.05+未満で、マルチステップコンパイルはサポートされていません.
解決策:Docker-CEバージョンのアップグレード
操作方法:
1、ソースを追加する
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

2、更新元:
sudo apt-get update

3、使用可能な安定バージョンを検索する:
apt-cache madison docker-ce

4、Docker-CEをアップグレードし、「VERSION」部分を具体的なバージョン番号に置き換える:
sudo apt-get -y install docker-ce=[VERSION] --allow-unauthenticated

5、Dockerの国内加速ミラーを設置し、DaoCloud、xxxxx部分登録DaoCloudを使用して取得する:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://xxxxxx.m.daocloud.io

6、Dockerサービスの再起動
sudo systemctl restart docker.service

7、Dockerバージョンの表示
sudo docker version