Dockerfile多阶段构建

以golang项目为例,Dockerfile在最上层目录,即与main.go在同一目录
FROM golang AS build

ENV CGO_ENABLED=0
ENV GOPROXY=https://goproxy.cn
ENV GO111MODULE=on

RUN mkdir /go/src/myapp
COPY ./ /go/src/myapp/
WORKDIR /go/src/myapp
RUN go build -o /tmp/myapp



FROM alpine

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

RUN apk add  openssh bash --no-cache \
    && sed -i s/"#   StrictHostKeyChecking ask"/"StrictHostKeyChecking no"/g /etc/ssh/ssh_config

RUN mkdir /opt/config

COPY --from=build /tmp/myapp  /opt/
COPY config/conf.yaml /opt/config/

WORKDIR /opt/

CMD ["./myapp"]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值