Docker 用户写入权限问题

Docker 用户写入权限问题

我刚刚开始学习 Docker。我的 Dockerfile 中有以下几行

FROM debian:stable

RUN apt-get update && apt-get install -y \
    git \
    vim \
    ruby \
    rubygems \
    bundler \
    nodejs \
    build-essential

RUN adduser --disabled-login admin
RUN usermod -aG sudo admin
USER admin
RUN whoami
COPY sampleapp /app
RUN export GEM_HOME=$HOME/.gem
RUN gem install rake
WORKDIR /app
RUN bundle install

当我运行时docker build,输出中出现以下错误

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /var/lib/gems/2.3.0 directory.

我该如何修复这个错误?

  • 我应该授予管理员访问这些目录的权限吗
  • 我是否应该将 GEM_HOME 改为其他地方而不是 ~/home?

答案1

我建议的第一件事是查看执行 dockerfile 的用户的用户权限以及 /var/lib/gems/... 目录的权限。确保您的写入和执行权限足以运行 dockerfile 中的所有命令。

其次,由于您是 Docker 新手,以下是有关Docker 命令了解更多信息。

相关内容