我正在编写Dockerfile,对parrotsec/security容器进行自定义以更好地符合我的偏好,并且我希望将zsh作为root的默认shell。 我尝试使用
RUN chsh -s /usr/bin/zsh
以及
RUN usermod --shell /usr/bin/zsh root
但是在构建镜像并运行后,根用户的shell仍为bash。
我相信你需要在你的Dockerfile中添加一个ENTRYPOINT
。如果你运行docker inspect <image>
,你会在输出中看到一个Entrypoint条目。
参见Docker Spawn a shell as a user instead of root,这似乎与你的情况非常相关。
ENTRYPOINT ["zsh"]
它可以工作。 - user13619278