Почему изменение часового пояса ubuntu16.04 в докере неверно
Я использую команду apt-get install -y tzdata && echo Asia/Shanghai > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
изменить часовой пояс на UTC+8, но он не работает. Мой Dockerfile выглядит следующим образом:
FROM ubuntu:xenial
MAINTAINER Leon.Gan
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak \
&& echo "deb http://mirrors.aliyun.com/ubuntu/ xenial main" >/etc/apt/sources.list \
&& echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial main" >>/etc/apt/sources.list \
&& echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main" >>/etc/apt/sources.list \
&& echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main" >>/etc/apt/sources.list \
&& echo "deb http://mirrors.aliyun.com/ubuntu/ xenial universe" >>/etc/apt/sources.list \
&& echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe" >>/etc/apt/sources.list \
&& echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe" >>/etc/apt/sources.list \
&& echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe" >>/etc/apt/sources.list \
&& echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-security main" >>/etc/apt/sources.list \
&& echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main" >>/etc/apt/sources.list \
&& echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe" >>/etc/apt/sources.list \
&& echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe" >>/etc/apt/sources.list \
&& apt-get update \
&& apt-get install -y locales \
&& locale-gen zh_CN.UTF-8 \
&& apt-get install -y tzdata \
&& echo Asia/Shanghai > /etc/timezone \
&& dpkg-reconfigure -f noninteractive tzdata \
&& rm -rf /var/lib/apt/lists/*
ENV LC_ALL "zh_CN.UTF-8"
ENV LANG "zh_CN.UTF-8"
CMD ["/bin/bash"]
После сборки образа вхожу в контейнер, запускаю команду cat /etc/timezone
Still содержание по-прежнему Etc/UTC. Значит моя команда echo Asia/Shanghai > /etc/timezone
в Dockerfile не работает. Итак, плз, научите меня, как правильно изменить часовой пояс, спасибо.
2 ответа
Решение
Я предполагаю dpkg-reconfigure -f noninteractive tzdata
делает что-то не так.
Я рекомендую либо установить ENV TZ=Asia/Shanghai
и / или бежать
ln -s -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Попробуй использовать
ENV TZ=Asia/Singapore
в вашем докер-файле. Он устанавливает часовой пояс глобальной окружающей среды, чтобы превзойти его.