alpine镜像时区设置

Posted 看见月亮的人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了alpine镜像时区设置相关的知识,希望对你有一定的参考价值。

alpine镜像是一个完整的操作系统镜像,因为其小巧、功能完备的特点,非常适合作为容器的基础镜像。

如ubuntu、centos镜像动辄几百M的体积下,只有5M的alpine简直是一股清流。

当然alpine在维持体积小的情况下,必然牺牲一些东西。比如,他就不带其他的时区文件,在默认的情况下,你是没办法改时区的。使用以下方法可以修改镜像的时区为UTC(北京时区)

方法一:

Dockerfile里加上这段:

RUN apk update && apk add tzdata 
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
RUN echo "Asia/Shanghai" > /etc/timezone

方法二:

Dockerfile里加上这段:

RUN apk update && apk add tzdata 
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
RUN echo "Asia/Shanghai" > /etc/timezone

方法三:

Dockerfile里加上这段:

RUN echo -n 'VFppZjIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAaAAAAAgAAAAjIWV6AyQn5cMnTvQDLBYrwy3xAANI7PvDTi3uA1EKt8NVFIgDWTL/w1zy/ANgGZnDZHfKA2UF88B66UiAfaZuQIH6EoCFJfZAiZ6EgIylfkCRHgyAlEnwQJidlICbyXhAoB0cgKNJAEAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAB+kAEAAABwgAAEQ0RUAENTVAAAAAAAVFppZjIAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAbAAAAAwAAAAz/fjZDKf/IWV6A/8kJ+XD/ydO9AP/LBYrw/8t8QAD/0js+8P/Ti3uA/9RCrfD/1UUiAP/WTL/w/9c8vwD/2AZmcP/ZHfKA/9lBfPAAAAAAHrpSIAAAAAAfaZuQAAAAACB+hKAAAAAAIUl9kAAAAAAiZ6EgAAAAACMpX5AAAAAAJEeDIAAAAAAlEnwQAAAAACYnZSAAAAAAJvJeEAAAAAAoB0cgAAAAACjSQBACAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIAAHHXAAAAAH6QAQQAAHCAAAhMTVQAQ0RUAENTVAAAAAAAAAAKQ1NULTgK'|base64 -d > /etc/localtime && echo -n 'Asia/Shanghai' > /etc/timezone

方法四:

如果你的镜像已经生成了,那么在启动容器时,可以使用挂载宿主机时区文件的方式,配置镜像时区。当然,镜像的时间也是随着宿主机时间改变的。所以此种方法首先要保证宿主机时间是正确的。

启动docker容器时加上下面这段:

-v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone

以上是关于alpine镜像时区设置的主要内容,如果未能解决你的问题,请参考以下文章

docker 下 alpine 镜像设置时区的有效办法

Docker alpine 添加cst时区并发布镜像到docker.io

Docker openjdk-8-jdk-alpine 容器时间与jdk时区不同修改方法

Docker 时区调整方案

Docker 镜像时区设置

Nginx官方镜像私有化定制,实现时区同步及自动挂载配置文件到宿主机