【问题标题】:Docker - Adding a file to Alpine rootDocker - 将文件添加到 Alpine 根目录
【发布时间】:2022-01-31 23:20:56
【问题描述】:

我尝试将本地文件(.vimrc 文件)复制到 Docker Alpine 映像。
Alpine 的root 目录似乎叫做~。 (这有点奇怪,因为在 Debian 世界中 ~ 通常是 home
并且init.vim 文件需要在root/~.
我尝试了不同的方法,即COPY 命令和RUN cp ...
但是 ~/.config/nvim 文件夹仍然是空的。
(mkdir 命令有效)
我能够复制到home/.config/nvim,但该文件在那里没有效果,它需要在~ 中。
root 目录在Alpine 中是只读的(即使是root 用户)?

FROM alpine

RUN apk add neovim
RUN apk add neovim-doc

RUN mkdir ~/.config
RUN mkdir ~/.config/nvim

ADD init.vim ~/.config/nvim/

【问题讨论】:

    标签: docker root alpine


    【解决方案1】:

    在 alpine 映像中,~ 别名等于 /root 文件夹

    但是 Dockerfile 中没有解释符号

    所以它会被当作一个字符串,它会在/call中创建一个子文件夹~

    要复制到好的文件夹中,我建议您使用包含您期望值的变量 $HOME

    但默认情况下 ADD 和 COPY 无权访问 $HOME Dockerfile: $HOME is not working with ADD/COPY instructions

    一种方法是定义要使用的 HOME 变量

    您的 Dockerfile 将如下所示:

    FROM alpine
    ENV HOME /root
    RUN apk add neovim
    RUN apk add neovim-doc
    
    RUN mkdir $HOME/.config
    RUN mkdir $HOME/.config/nvim
    
    COPY init.vim $HOME/.config/nvim/
    

    【讨论】:

      猜你喜欢
      • 2021-07-17
      • 2021-12-11
      • 2014-08-23
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 2014-12-26
      • 1970-01-01
      • 2020-11-06
      相关资源
      最近更新 更多