Skip to content

Instantly share code, notes, and snippets.

@Jimmy-Xu
Last active January 20, 2016 01:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Jimmy-Xu/3aeb14d5a3a891c2b2a7 to your computer and use it in GitHub Desktop.
Save Jimmy-Xu/3aeb14d5a3a891c2b2a7 to your computer and use it in GitHub Desktop.
利用golang:1.5.3的docker镜像重新编译golang源码

下载go源码

$ cd ~
$ wget https://storage.googleapis.com/golang/go1.5.3.linux-amd64.tar.gz
$ tar xzvf go1.5.3.linux-amd64.tar.gz

覆盖( 否则缺少~/go/src/cmd/api )

$ wget https://storage.googleapis.com/golang/go1.5.3.src.tar.gz
$ tar xzvf go1.5.3.src.tar.gz

修改~/.bashrc,添加:

export GOROOT=~/go
export GOPATH=~/gopath
export PATH=${GOROOT}/bin:${GOPATH}/bin:${PATH}

$ source ~/.bashrc

修改go源码(如让go get支持进度条)

启动容器

$ docker run -it --rm -v $GOROOT:/go -v $GOPATH:/root/gopath -e GOPATH=/root/gopath -e GOROOT_BOOTSTRAP=/usr/local/go golang:1.5.3 bash

容器内部安装依赖

$ wget http://mirrors.163.com/.help/sources.list.jessie -O /etc/apt/sources.list
$ apt-get update
$ apt-get install -y pkg-config patch libpcre3-dev

开始编译golang

$ cd /go/src/;time ./all.bash

...
##### API check
Go version is "go1.5.3", ignoring -next /go/api/next.txt

ALL TESTS PASSED

---
Installed Go for linux/amd64 in /go
Installed commands in /go/bin

real    9m39.436s
user    20m10.492s
sys    2m6.941s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment