Gab*_*ini 9 package-management timezone systemd docker 18.04
场景:我正在尝试在基于 Ubuntu 18.04 docker 映像的 docker 容器上设置时区。只需拉取映像、更新并安装 systemd
> apt-get -y update
> apt-get -y install systemd
Run Code Online (Sandbox Code Playgroud)
错误: 无法创建总线连接:没有这样的文件或目录
> timedatectl
> timedatectl: Failed to create bus connection: No such file or directory
Run Code Online (Sandbox Code Playgroud)
问题:我缺少什么?
注意: etc目录下没有localtime和timezone文件
> ls /etc/localtime
> ls: cannot access '/etc/localtime': No such file or directory
> ls /etc/timezone
> ls: cannot access '/etc/timezone': No such file or directory
Run Code Online (Sandbox Code Playgroud)
我已经看到了这个和这个但没有解决,因为在我的情况下没有缺少 dbus
> apt-get install dbus
> dbus is already the newest version (1.12.2-1ubuntu1.1).
Run Code Online (Sandbox Code Playgroud)
谢谢
小智 2
这是由于容器无法访问主机上的 system_bus_socket 造成的。您需要使用以下命令运行容器:
docker run -ti -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket:ro imagename /bin/bash
Run Code Online (Sandbox Code Playgroud)
然后您就可以使用 timedatectl 命令。
小智 2
这对我有用
docker run --privileged -ti -v /run/dbus/system_bus_socket:/run/dbus/system_bus_socket:ro imagename /bin/bash
Run Code Online (Sandbox Code Playgroud)
劳伦建议的解决方案相同,但--privileged添加了标志
| 归档时间: |
|
| 查看次数: |
28620 次 |
| 最近记录: |