【问题标题】:How to install standard system commands for amazon-linux 2如何为 amazon-linux 2 安装标准系统命令
【发布时间】:2020-01-15 03:44:10
【问题描述】:

我似乎缺少一些非常基本的实用程序,即命令sudowhich 似乎缺少。我该如何安装这些,或者更好的是有一个预先安装了所有这些东西的 ami linux 映像。

Dockerfile:

FROM amazonlinux:2.0.20190823.1-with-sources
RUN echo $(which sudo)

错误:

/bin/sh: which: command not found

或者如果我只是尝试使用 sudo yum 之类的东西

/bin/sh: sudo: command not found

由于它似乎相关,我似乎也没有 root 权限,因为尝试使用 adduser 命令给了我一个非零响应代码 2。

【问题讨论】:

  • RUN yum update && yum install -y sudo,默认情况下,该映像中未安装 sudo。您已经是该图像的根,因此您不需要 sudo yum
  • 谢谢,这对我来说太疯狂了。没有意识到您只是使用 yum 来安装这些常规命令。我现在觉得有点傻。将其弹出到答案中,我会将其标记为正确@LinPy
  • 在 Docker 中你几乎不需要sudo。容器通常会在没有用户干预的情况下将某个单个进程作为前台作业运行,因此您通常不需要容器中的交互式 shell,如果需要,您始终可以 docker exec -u 0 成为 root。
  • 我需要 sudo 来获得 sudo -u,而不是 root 权限。同样在我的情况下,我经常使用 docker 容器作为 cli,因为它安装了命令行所需的一切。大量在后台运行,并且通常是交互式的。我还需要 sudo,因为 prod 在某些脚本中使用 sudo,这些相同的脚本需要在我的本地运行。

标签: docker amazon-linux


【解决方案1】:

RUN yum update && yum install -y sudo,默认情况下,该映像中未安装 sudo。您已经是该图像的根,因此您不需要sudo yum

默认不安装太多包的想法是让镜像尽可能小,让用户安装自己需要的东西

【讨论】:

  • RUN yum -y update && yum install -y sudo 为我工作。
猜你喜欢
  • 1970-01-01
  • 2020-12-18
  • 2013-02-22
  • 2011-09-24
  • 2022-08-10
  • 2020-11-14
  • 2020-10-26
  • 1970-01-01
  • 2023-01-09
相关资源
最近更新 更多