
由于alpine提供的linux环境的镜像特别的小,只有5M左右,因此应用非常广泛,在Docker Hub有大量基于alpine的镜像。
举例拿Alpine Linux 和Ubuntu 18.04对比:
| 1 | $ docker pull --quiet ubuntu:18.04 | 
但是所有基于alpine的镜像使用的都是默认时区,因此在使用时要对时区进行修改。
做个实验,进入alpine的镜像(默认 /bin/sh)查看日期,会比在本机获取的时间早8小时:
| 1 | # alpine 镜像内时间日期: | 
按照文档Setting the timezone中提供的信息修改时区:
| 1 | # 安装时区设置 | 
方法可行,修改命令保存为Dockerfile文件,在Dockerfile目录执行命令构建镜像:
| 1 | FROM alpine:latest | 
创建镜像:
| 1 | docker build -t alpine-sh:latest . | 
进入alpine-sh的镜像(默认 /bin/sh)查看日期:
| 1 | docker run -i -t --rm alpine-sh:latest date -R | 
可见日期已改变为上海时区,所有基于alpine的镜像都可以采用类似的方法进行修改。
ubuntu/debian -> alpine
python:3 -> python:3-alpine
ruby:2.6 -> ruby:2.6-alpine
Reference
- Using Alpine can make Python Docker builds 50× slower
- docker: Apline configure timezone
- Alpine 官网:https://www.alpinelinux.org
- Alpine 官方仓库:https://github.com/alpinelinux
- Alpine 官方镜像仓库:https://github.com/gliderlabs/docker-alpine
Done.