我从这个 Dockerfile 创建了一个 Docker 容器(我删除了不相关的行):
FROM ubuntu:22.04
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Etc/UTC
RUN apt-get update && apt-get install -y openssh-server && apt-get autoremove -
...
我注意到,当使用who
或w
当用户通过 SSH 连接到容器时,我得到的结果为空。据我了解,这些文件只是读取文件的内容/var/run/utmp
,容器中缺少此文件
ls /var/run/utmp
ls: cannot access '/var/run/utmp': No such file or directory
如果我手动添加此文件,该who
命令将按预期工作。但我猜这是一个糟糕的解决方案。
但是,如果我将 ubuntu 版本更改为 20.04(ubuntu:20.04),则该文件就在那里:
ls -la /var/run/utmp
-rw-rw-r-- 1 root utmp 0 Dec 11 02:14 /var/run/utmp
命令who
正在起作用。
为什么这在 22.04 版本中不起作用?我需要安装特定的软件包吗?