我在我的 docker 容器中运行 Ubuntu xenia(这是一个在我的 OS X VM 主机中运行的容器)。当您运行创建我的容器的 docker run 命令时,它会以 root 用户身份登录。
因此,当我在所有这些之后尝试安装 Linuxbrew 并通过 app-gret 在我的容器中安装 curl 和 ruby 后,don't run this as root!当我尝试安装 Linuxbrew 时出现错误:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"
Run Code Online (Sandbox Code Playgroud)
我希望能够以某种方式运行它。如果 docker run 将我以 root 身份登录,那么我有什么选择可以绕过这个对 root 的限制,这样我仍然可以运行这个命令?如果 docker 总是让我以 root 身份登录到容器,那么在他们想以非 root 用户身份在 Ubuntu 容器上安装此类内容的情况下,人们通常会怎么做?
注意:我是 Ubuntu、Linux 和 docker 的新手。所以这意味着我可能不知道所有的基础知识,还有很多东西要知道。
您可以使用USER命令来更改用户命令的运行方式。当然,您首先需要创建用户,因此您的 Dockerfile 将包含如下内容:
RUN useradd --system -s /sbin/nologin someuser
USER someuser
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22681 次 |
| 最近记录: |