话说写了个删除任务的小东西,用到sqlite是:github.com/mattn/go-sqlite3 这个库支持database/sql接口,基于cgo那么问题来了。在默认情况下cgo是不允许交叉编译的,我mac下开发的想编译到centos上cgo跨平台不好使用。没办法只能掏出docker
docker run --rm -v $GOPATH:/go golang:1.10 bash -c 'cd $GOPATH/src/code && CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build delete_task.go'
可以按自己需求修改,编译完会自动删除容器
- –rm 删除容器
- -v 把宿主机gopath映射到容器gopath这样就不用下载包代码什么的
- golang:1.10 go镜像版本
- bash -c 直接bash命令
- cd $GOPATH/src/code 进入容器项目目录,-v已经把宿主机上面项目都弄到容器里
- CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build delete_task.go 编译delete_task.go程序文件