基于alpine构建docker镜像修改时区

基于alpine构建docker镜像修改时区



CUFFS

关注

2017.06.02 11:45*
字数 214
阅读 2728评论 0喜欢 1

由于我们在push国外制作镜像使用时,时区就成为一个问题。国外时区一把都是UTC,需要改成国内时区CST.

复制宿主机的文件到docker容器

/usr/share/zoneinfo/Asia/Shanghai # 宿主机文件

/etc/localtime #容器文件

命令如下:

docker cp /usr/share/zoneinfo/Asia/Shanghai 【容器ID或者NAME】:/etc/localtime

这种方式每次重启容器都需要执行,所以采用第二种Dockerfile方式重新构造

dockerfile 文件内容如下

FROM ej52/alpine-nginx-php:latest
RUN  echo 'http://mirrors.ustc.edu.cn/alpine/v3.5/main' > /etc/apk/repositories \
    && echo 'http://mirrors.ustc.edu.cn/alpine/v3.5/community' >>/etc/apk/repositories \
&& apk update && apk add tzdata \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ 
&& echo "Asia/Shanghai" > /etc/timezone

docker build –rm -t ej52/alpine-nginx-php:latest .

这样就能重新构造一下docker镜像,增加了cst时区。

php环境下面还需要修改php.ini配置文件

把data.timezone = “UTC” 改成 data.timezone = “Asia/Shanghai” ,这样php获取时间才是正确的北京时间。