docker 下 alpine 鏡像設置時區的有效辦法

在使用docker的時候,因爲不少基礎linux鏡像都比較大,alpine這個僅僅幾兆的linux基礎鏡像受到了不少人喜歡,筆者也不例外,但是因爲alpine中的一些配置及命令與常見的centos等系統在一些方面不同,下面來看看時區問題是如何解決的:linux

緣由:alpine中,原生是不帶時區相關的命令及文件的,須要安裝額外的包來支持,而後須要將時區文件內容替換爲localtime文件docker

解決辦法

建議打造本身的alpine基礎鏡像,以下是個人alpine的Dockerfile:

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

參考文章

https://bugs.alpinelinux.org/...bash

參考的源代碼

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
/ # 

As a side

by 劉迎光@螢火蟲工做室
OpenBI交流羣:495266201
MicroService 微服務交流羣:217722918
mail: liuyg#liuyingguang.cn
博主首頁(==防止爬蟲==):http://blog.liuyingguang.cn
OpenBI問答社區:http://www.openbi.tkcurl

相關文章
相關標籤/搜索