济南网站建设推荐q479185700强涵,wordpress 付费观看,长春做网站要多少钱,手机网站设计字体大小使用alpine镜像部署go应用时踩的坑
关于交叉编译
实际上我在ubuntu的交叉编译出来的exe并不能在alpine上运行#xff0c;这边采取拉镜像编译复制出来的做法#xff0c;部署再用干净的alpine
拉取golang:alpine踩坑
在Dockerhub上可以找到#xff1a; 然而拉取的alpine中…使用alpine镜像部署go应用时踩的坑
关于交叉编译
实际上我在ubuntu的交叉编译出来的exe并不能在alpine上运行这边采取拉镜像编译复制出来的做法部署再用干净的alpine
拉取golang:alpine踩坑
在Dockerhub上可以找到 然而拉取的alpine中go版本为1.17,对于go 1.18(即使用了泛型)后的go应用就不适用了
于是我试图拉取 然而拉取失败在拉取时卡死我自己去看了下github的Dockerfile
实际上可能是因为阿里云镜像只拉取了alpine:latest把github找到的镜像Dockerfile的第一行的
FROM alpine:3.19这个改成
FROM alpine这样就能拉取了,把这个编译好的镜像推送到自己的Dockerhub就行了
在我的场合
docker push realconsider/golang:1.21-alpine我在alpine中编译时一直报错 后来发现
是因为代码中有这么一句
import C把这句删掉就能编译了
在makefile中集成编译cmd/main.go :
简单看下脚本
#!/bin/bashdocker kill alpine3golangbulding
docker rm alpine3golangbuldingexport GOPROXYhttps://goproxy.cndocker run -d -it --name alpine3golangbulding -v $(pwd):/app -w /app --env GOPROXY${GOPROXY} realconsider/golang:1.21-alpinedocker exec -w /app/cmd alpine3golangbulding go build -o main main.godocker cp alpine3golangbulding:/app/cmd/main ./main
makefile参考
export USAGE_OPTIONS#
.PHONY: help
help: Makefileprintf \nUsage: make TARGETS OPTIONS ...\n\nTargets:\nsed -n s/^##//p $ | column -t -s : | sed -e s/^/ /echo $$USAGE_OPTIONS
# Add a new target for build using compile.sh
.PHONY: build
build:echo Building executable main./scripts/compile.sh
.PHONY: build-alpine
build-alpine:echo Building executable main with docker/golang-alpine./scripts/complie-alpine.sh