docker 之 初入
参考链接: https://www.itmangoto.cn/2018/06/20/openwrt-golang-mips32-docker-04/
1.搜索镜像:
#sudo docker search go-mips32
[email protected]:/home/work/golang# docker search go-mips32le
2.下载镜像
[email protected]:/home/work/golang# docker pull shutup/docker-go-mips32le
3.创建源代码目录以及运行
mkdir /tmp/golang-test
#创建完之后,把 golang 代码或者工程项目拷贝到这个目录(没有项目就弄个 helloworld 测试一下)
sudo docker run -it -v /tmp/golang-test:/go/src conoro/go-mips32:v1 /bin/sh
#注意一下第一个冒号前面的那个目录和上面创建的存放 golang 工程项目的路径要一致。
#相当于把本地的目录,映射到 docker 那里吧。
注:
如无意外就可以进入到 docker 系统了
因为刚刚我们把工程项目映射到/go/src,所以进入 src 就可以看到我们的工程了
4.编译
1)go build main.go
2)环境变量:理论上不需要声明环境变量了,docker 镜像已经默认申明了
# export GOOS=linux
# export GOARCH=mips32le
3)拷贝生成的执行程序
因为刚刚我们把本地机的/tmp/golang-test 映射到 docker 里面的/go/src。所以,如果刚刚生成的执行程序在/go/src 里面,我们执行 exit 退出 docker,回到本地系统,就可以在/tmp/golang-test 找到执行程序。然后拷贝到路由器或者设备中测试一下。
报错:
从中文查到英文。。。原来是他鸟的docker不支持32位ubuntu…”exec format error”;