避免重复写Dockerfile,可以借用下面的dockerfile模板
- 新建Dockerfile
FROM golang:1.15-alpine3.12 AS builder COPY . /build WORKDIR /build ENV GO111MODULE on RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o SERVICE_NAME -mod=vendor cmd/main.go # Production stage FROM alpine:3.12 AS final WORKDIR /app COPY --from=builder /build/SERVICE_NAME /usr/bin COPY --from=builder /build/config/app.ini /etc/SERVICE_NAME/ CMD SERVICE_NAME --app.config.path=/etc/SERVICE_NAME/app.ini
- 在Dockerfile同级别目录执行,把hello-word替换成你的项目名称(跟当前父文件名称一致)
sed -i "s/SERVICE_NAME/hello-word/g" Dockerfile
原创文章,作者:站长,如若转载,请注明出处:https://wsppx.cn/1407/%e7%bd%91%e7%bb%9c%e5%bc%80%e5%8f%91/

相关推荐
-
python后端开发面试-装饰器
装饰器在python中是经常用到的,装饰器顾名思义是装饰的作用,其实就是一个函数把另外一个函数当作参数而已 函数装饰器 无参数装饰器 需要注意的是 @cost_time # 装饰没…
-
golang同目录调用其他文件函数的用法
问题复现 解决方法 这个应该是新手常见的问题,golang的包管理方式,这个运行错误是由于你执行了main.go,而没有编译其他go文件,当然不知道run函数哪里来的 正确方式 g…
-
记录一次go mod vendor 没有同步所有的package
注意 :go mod vendor 只同步被代码使用过或者引用过的package,如果你发下go mod tidy明明将包都下载下来了,但是vendor文件夹少了几个package…
-
go微服务一个错误:rpc error: code = Unimplemented desc = unknown service xxx
前言:当你的微服务需要连接其他的人的微服务,他会给你提供一个proto文件,当你调用他们的方法的时候,一直报错误:,一开始以为是服务地址写错了。后面查了一下,是go 语言中,pro…
-
面试题:mysql中自己实现自增id
面试官其实想考察的是如何实现分布式趋势自增ID。在mysql中如果给字段增加auto_increment属性,但是出现分库分表分布式的场景,那么单表的自增id并不少全局自增。 ID…
-
微服务:搭建consul注册中心
macos安装 linux amd系统安装 单节点运行 运行多个节点 service 节点 node节点 运行 管理页面 http://192.168.232.130:8500/u…
-
python后端开发面试-redis缓存
默认16个数据库 五中数据结构 string list(列表) set(集合) zset(有序列表) hash(字典) 理解穿透、击穿、雪崩及其处理方法 redis怎样实现分布式锁…