如何更改Docker私人registry运行容器上的时区?

我该如何更改运行的 docker 专用registry容器上的时区/时间

主机操作系统:CentOS 7 Docker版本:

Server: Version: 17.09.0-ce API version: 1.32 (minimum version 1.12) Go version: go1.8.3 Git commit: afdb6d4 Built: Tue Sep 26 22:42:49 2017 OS/Arch: linux/amd64 Experimental: false 

Dockerregistry映像: registry:2 ID: a07e3f32a779

试着在容器上执行: export TZ=Europe/Warsaw ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone但没有任何实时结果。

相同的解决scheme可以在另一个容器上正常工作

有任何想法吗?

编辑:

重新创build容器,如下所示:

 apache: image: "httpd:2.4" hostname: deleted restart: always environment: - TZ=Europe/Warsaw ports: - 5043:5043 links: - registry:registry volumes: - /opt/docker-registry-bundle/auth:/usr/local/apache2/conf - /etc/timezone:/etc/timezone:ro registry: image: registry:2 restart: always environment: - TZ=Europe/Warsaw ports: - 127.0.0.1:5000:5000 volumes: - /opt/docker-registry-bundle/registry-data:/var/lib/registry - /etc/timezone:/etc/timezone:ro 

在Apache的容器时间是可以的。 在registry容器上仍然不起作用。

在容器中执行时,以下内容应该可以工作

 echo "Europe/Warsaw" > /etc/timezone dpkg-reconfigure -f noninteractive tzdata 

来自Sanath的解决scheme

registry:2图像使用阿尔卑斯基本图像,因为该dpkg命令是缺less的,请参阅下面的链接,这将解释如何更改高山基于图像的时区。 ivankrizsan.se/2015/10/31/time-in-docker-containers(请参阅Alpine Linux部分)

    Interesting Posts