修改Docker容器的时区为中国时区
1、首先要确认宿主机的时区是中国时区
在创建 Docker 容器时,加上 “-v /etc/localtime:/etc/localtime:ro” 参数,让容器使用宿主机的时间,容器时间与宿主机时间同步。比如创建一个 Tomcat 容器:
在创建Docker容器的时候,加上下面这个参数
-v /etc/localtime:/etc/localtime:ro
把本地宿主机的/etc/localtime映射到容器。
这其中ro表示这个volume是只读
2、如果是通过Dockerfile创建docker容器,我们也可以在Dockerfile中加上一段修改时区的代码,如下所示:
&& apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& apk del tzdata
注意我这里的Dockerfile是alpine系统。
完整Dockerfile如下:
FROM alpine:latest
MAINTAINER autor
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
&& apk add nodejs \
&& apk add npm \
&& apk add git \
&& apk add sysstat \
&& npm install -g typescript \
&& apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& apk del tzdata
#port
EXPOSE 8061
通过dockerfile创建名为test_image的image:
docker build -t test_image .