Docker - 将文件添加到 Alpine 根目录
Docker - Adding a file to Alpine root
我试图将本地文件(.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/
在 alpine 图像中 ~
别名等于 /root
文件夹
但是符号没有在 Dockerfile 中解释
所以它将被视为一个字符串,它将在 / 调用中创建一个子文件夹 ~
要复制到好的文件夹中,我建议您使用包含预期值
的变量$HOME
但默认情况下 ADD 和 COPY 无权访问 $HOME
一种方法是定义您要使用的 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/
我试图将本地文件(.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/
在 alpine 图像中 ~
别名等于 /root
文件夹
但是符号没有在 Dockerfile 中解释
所以它将被视为一个字符串,它将在 / 调用中创建一个子文件夹 ~
要复制到好的文件夹中,我建议您使用包含预期值
的变量$HOME
但默认情况下 ADD 和 COPY 无权访问 $HOME
一种方法是定义您要使用的 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/