我在将文件添加到图像并通过--chown
标志设置所有权时遇到问题。具体来说,这是一个 dockerfile 添加一个简单的文本文件:
FROM fedora:24
ARG user_name=slave
ARG user_uid=1000
ARG user_home=/home/$user_name/
RUN useradd -l -u ${user_uid} -ms /bin/bash $user_name
WORKDIR ${user_home}
USER ${user_name}
ADD --chown=1397765041:1397765041 test.txt ./
CMD ls -l
Run Code Online (Sandbox Code Playgroud)
text.txt
可以看出,这导致了预期的所有权:
$ docker run --rm -it bm/tmp:latest
total 4
-rw-r--r-- 1 some_user 1397765041 6 Oct 21 20:00 test.txt
Run Code Online (Sandbox Code Playgroud)
凉爽的。现在,如果我更改test.txt
为 tar 文件(例如 boost_1_57_0.tar.bz2)并重建,这就是我得到的:
$ docker run --rm -it bm/tmp:latest
total 4
drwx------ 8 501 root 4096 Oct 31 2014 boost_1_57_0
Run Code Online (Sandbox Code Playgroud)
这是我的构建方式(可能无关紧要):
docker build -t bm/tmp --build-arg …
Run Code Online (Sandbox Code Playgroud)