基于alpine docker镜像应用的参考Dockerfile配置

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

posted on 2020-12-01 16:13  荣锋亮  阅读(529)  评论(0编辑  收藏  举报

导航