由于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.