在使用Docker的時候,因爲不少基礎linux鏡像都比較大,alpine這個僅僅幾兆的linux基礎鏡像受到了不少人喜歡,筆者也不例外,但是因爲alpine中的一些配置及命令與常見的centos等系統在一些方面不同,下面來看看時區問題是如何解決的:linux
緣由:alpine中,原生是不帶時區相關的命令及文件的,須要安裝額外的包來支持,而後須要將時區文件內容替換爲localtime文件docker
FROM alpine:3.4 MAINTAINER firewarm LightingLiu <liuyg@liuyingguang.cn> # Install root filesystem ADD ./rootfs / # Install base packages RUN apk update && apk add curl bash tree tzdata \ && cp -r -f /usr/share/zoneinfo/Hongkong /etc/localtime \ && echo -ne "Alpine Linux 3.4 image. (`uname -rsv`)\n" >> /root/.built # Define bash as default command CMD ["/bin/bash"]
當這個鏡像完成之後,不須要配置任何環境變量便可使用京八區的時區及時間centos
docker run -it --rm alpine /bin/sh / # date Sun May 8 20:46:18 UTC 2016 / # apk add -U tzdata fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.3/community/x86_64/APKINDEX.tar.gz (1/1) Installing tzdata (2015g-r0) Executing busybox-1.24.1-r7.trigger OK: 8 MiB in 12 packages / # cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime / # date Sun May 8 22:46:45 CEST 2016 / #