基於alpine docker映象應用的參考Dockerfile配置
阿新 • • 發佈:2020-12-01
alpine 映象比較小的特點,特別適合基於容器的應用部署,以下是一些參考配置,可以
用來加速構建以及方便使用
幾個需要解決的問題
- 安裝包加速(已知問題)解決方法,可以修改為aliyun的映象加速
- 時區問題,需要安裝時區包
- 程序管理工具,需要安裝 procps
參考dockerfile
- 一個golang 執行專案
FROM golang:1.15-alpine AS build-env
WORKDIR /go/src/app
ENV GO111MODULE=on
ENV GOPROXY=https://goproxy.cn
COPY . .
RUN set -x \
&& /bin/sed -i 's,http://dl-cdn.alpinelinux.org,https://mirrors.aliyun.com,g' /etc/apk/repositories \
&& apk update && apk add git \
&& go build
FROM alpine:latest
RUN set -x \
&& /bin/sed -i 's,http://dl-cdn.alpinelinux.org,https://mirrors.aliyun.com,g' /etc/apk/repositories \
&& apk add --no-cache tzdata \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& apk update && apk add ca-certificates mongodb-tools procps mysql-client redis postgresql-client && rm -rf /var/cache/apk/*
COPY --from=build-env /go/src/app/gobackup /usr/bin/gobackup
COPY gobackup.yml /etc/gobackup/gobackup.yml
ENTRYPOINT [ "gobackup" ]
- 簡單說明
添加了阿里雲的加速,同時安裝了時區包,以及procps
參考資料
https://pkgs.alpinelinux.org/packages
https://developer.aliyun.com/mirror/alpine