如何在 amazon linux 2 映像中使用 localectl 和 timedatectl?

Posted

技术标签:

【中文标题】如何在 amazon linux 2 映像中使用 localectl 和 timedatectl?【英文标题】:How to use localectl and timedatectl in amazon linux 2 image? 【发布时间】:2021-09-14 21:19:15 【问题描述】:

当我在 amazon linux 2 container 中执行此操作时,它返回了此问题。

bash-4.2# localectl status
Failed to create bus connection: No such file or directory

bash-4.2# timedatectl
Failed to create bus connection: No such file or directory

【问题讨论】:

您想通过使用localectltimedatectl 来完成什么?如果你需要设置时区和语言环境,在 Docker 中有differentways 来完成。 amazonlinux:2 最简单的方法似乎是设置 LANGTZ 环境变量。 @tentative 我认为 amazon linux 2 映像与 AWS 中真正的 amazon linux 2 相同。我只想先验证容器中的包安装。如果您可以写下您的评论作为答案,我愿意接受。 【参考方案1】:

如果你需要设置时区和语言环境,Docker 中有 different ways 来完成。使用amazonlinux:2 图像最简单的方法似乎是设置LANGTZ 环境变量:

docker run -e TZ="America/Los_Angeles" -e LANG="en_US.UTF-8" -e LC_ALL="en_US.UTF-8" -it amazonlinux:2

输出:

bash-4.2# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
bash-4.2# date # matching the date in Los Angeles time zone
Sat Jul  3 17:50:38 PDT 2021

在您的评论要求我发布作为答案后发布我的回复。

【讨论】:

以上是关于如何在 amazon linux 2 映像中使用 localectl 和 timedatectl?的主要内容,如果未能解决你的问题,请参考以下文章

Amazon linux:创建 ami 映像时更改默认 ec2-user

如何将映像传输到 Amazon EBS 卷以供 EC2 使用?

在ECS中使用哪个ASP.NET Windows容器映像?使用Amazon ECS在基本映像中出现Windows Docker Container兼容性问题

如何从我的 springboot 应用程序的 Docker 映像连接到 Amazon RDS 实例?

如何使用 Amazon linux 2 在 Elastic beanstalk 中使用多容器 docker?

在 Amazon ECS 上运行 X-Ray 守护程序