修改nginx镜像时区

问题:

容器时间正确的要求:

  • 宿主机时间正确
  • 容器时区正确

宿主机时间

yum install -y chrony
systemctl enable chronyd && systemctl restart chronyd

容器时区

FROM nginx:alpine

RUN apk --no-cache add ca-certificates tzdata \
    && \cp -a /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && apk del tzdata ca-certificates \
    && rm -rf /var/cache/apk/* 
docker build -t nginx:alpine-1.2 .

对比两个镜像大小

[root@openvpn ~]# docker image ls nginx
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               alpine-1.2          6ce437b36039        5 minutes ago       21.6MB
nginx               alpine              a624d888d69f        6 days ago          21.5MB

日志时间正确了

$ docker run --name nginx2 -d -p 80:80  nginx:alpine-1.2
$ date
Tue Nov 26 15:34:26 CST 2019
$ docker logs -f nginx2
172.18.28.28 - - [26/Nov/2019:15:29:07 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36" "-"