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

由于我们在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获取时间才是正确的北京时间。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容