使用docker部署一个带配置文件的golang项目
配置文件放docker内只做为举例,实际并不推荐,建议用配置文件统一管理。
首先看下我这的目录结构
我这的gopath为 gowork目录
编写dockerfile
首先编译main.go 生成二进制文件,该二进制文件可以直接在相应的linux服务器下运行。
我这里使用如下指令,编译后会多出一个main文件
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
可以根据自己需要编译的平台更改
使用from加入母镜像 这里使用scratch空镜像,因为编译后的main是可以直接运行的
FROM scratch
MAINTAINER指定维护者信息
WORKDIR .这里使用当前目录作为工作目录,可以修改
将main 与 test.toml 配置文件 放入当前目录
EXPOSE 这是对方开发的端口,可修改,我这使用8082
CMD 附带配置文件test.toml 运行当前目录下的main
MAINTAINER "hcf"
WORKDIR .
ADD main .
ADD test.toml .
EXPOSE 8082
CMD ["./main","-config=./test.toml"]
容器的配置就完成了