在非根目录下写入主机的Dockerfile指令

在非根目录下写入主机的Dockerfile指令,docker,dockerfile,Docker,Dockerfile,我将创建一个具有某些特定属性的Dockerfile: 它应该使用VOLUME语句 在运行映像时,它应该将一个文本文件写入已装载的主机目录,除非UID=1000,否则该目录将受到所有用户的保护 它应该在UID=3000的指定用户下写入此文本文件 我创建了这样一个Dockerfile: FROM ubuntu:16.04 <...> WORKDIR $HOME ENV UID 3000 RUN groupadd -g $UID custom_group RUN useradd -u

我将创建一个具有某些特定属性的Dockerfile:

  • 它应该使用VOLUME语句
  • 在运行映像时,它应该将一个文本文件写入已装载的主机目录,除非UID=1000,否则该目录将受到所有用户的保护
  • 它应该在UID=3000的指定用户下写入此文本文件
我创建了这样一个Dockerfile:

FROM ubuntu:16.04
<...>
WORKDIR $HOME
ENV UID 3000
RUN groupadd -g $UID custom_group
RUN useradd -u $UID -g $UID custom_user
RUN chown -R custom_user:custom_group $HOME
VOLUME $HOME
USER custom_user:custom_group
ENTRYPOINT nano
来自ubuntu:16.04的

WORKDIR$HOME
环境UID 3000
运行groupadd-g$UID自定义组
运行useradd-u$UID-g$UID自定义用户
运行chown-R custom_用户:custom_组$HOME
卷$HOME
用户自定义\u用户:自定义\u组
入口点纳米
但是,当使用“-v”选项运行映像时,我得到一个权限错误。 我应该改进什么