容器编译简单部署go

Goland同步代码

配置一个deployment
image
image
这里go代码全部会放在服务器 ~/myweb/src 文件夹下面

使用golang容器编译

docker run --rm -it  \
-v /home/txl/myweb:/app \
-v /home/txl/gopath:/go \
-w /app/src \
-e GOPROXY=https://goproxy.cn \
golang:1.14.4-alpine3.12 \
go build -o ../myserver main.go

映射gopath目录到容器内的/go,这个是golang容器内的默认Gopath路径。

docker run --rm -it golang:1.14.4-alpine3.12 go env // 查看默认Gopath路径

映射myweb到容器内的app目录,在容器内app/src下执行编译,输出为app/myserver
执行完毕后会生成一个可执行程序myserver,编译成功
image

使用apline镜像启动go

docker run --name myweb -d \
-v /home/txl/myweb:/app \
-w /app \
-p 8081:80 \
alpine:3.12 \
./myserver

其实就是在容器内执行刚刚编译好的myserver,映射容器内的80端口到服务器的8081端口

posted @ 2021-11-21 14:15  Azure沫  阅读(94)  评论(0编辑  收藏  举报