gpt4 book ai didi

bash - 强制在Docker镜像中更改时区

转载 作者:行者123 更新时间:2023-12-02 20:43:17 24 4
gpt4 key购买 nike

从gitlab ci管道中,我正在使用Dockerfile创建Docker镜像。我需要将docker镜像中的时区从UTC更改为CST。我已经尝试了几种方法(下面列出),但是我无法改变它。希望有人能指出我正确的方向。

Linux版本:

OS name: "linux", version: "4.15.0-72-generic", arch: "amd64", family: "unix"

从Dockerfile中:
RUN sudo echo "America/Chicago" > /etc/timezone

没用通过前后调用 date命令,时区保持不变。

然后:
ENV TZ=America/Chicago
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

没用

从gitlab-ci文件中:
timedatectl
Failed to create bus connection: No such file or directory

我读到我需要安装dbus ..所以我把它放在Dockerfile中
apt-get install dbus
apt-get: command not found

所以我认为图像可能是基于Alpine的。
apk add --update dbus
timedatectl
Failed to create bus connection: No such file or directory

所以,我很茫然。这很新,不知道还要做什么。

我在期待什么。

当我在此图像中运行的单元测试执行日期功能时,它们不拉UTC,而是拉我设置的新更新的时区。

有什么建议么?

最佳答案

我相信您需要安装软件包tzdata。在Dockerfile中使用类似下面的内容:

# Install tzdata
RUN apk add --no-cache tzdata

然后,您应该可以使用环境变量设置时区:
TZ: America/Chicago

关于bash - 强制在Docker镜像中更改时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59791190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com