为什么chown在Dockerfile中不起作用?

我的Dockerfile创建一个目录,将其chown,然后再列出该目录。该目录仍归root用户所有。这是为什么?

这是Dockerfile:

FROM ubuntu:precise

RUN useradd -d /home/testuser -m -s /bin/bash testuser

RUN mkdir -p /var/local/testrunner/logs

VOLUME ["/var/local/testrunner/logs"]

RUN grep testuser /etc/passwd

RUN grep root /etc/passwd

RUN chown -R testuser:testuser /var/local/testrunner/logs

RUN ls -ld /var/local/testrunner/logs

这是“ docker build”的输出:

Sending build context to Docker daemon 10.24 kB

Sending build context to Docker daemon

Step 0 : FROM ubuntu:precise

---> ab8e2728644c

Step 1 : RUN useradd -d /home/testuser -m -s /bin/bash testuser

---> Using cache

---> 640f12671c86

Step 2 : RUN mkdir -p /var/local/testrunner/logs

---> Using cache

---> bf7756fd5b1f

Step 3 : VOLUME ["/var/local/testrunner/logs"]

---> Using cache

---> 65c73ee76c20

Step 4 : RUN grep testuser /etc/passwd

---> Using cache

---> db72fff0b965

Step 5 : RUN grep root /etc/passwd

---> Running in ebff78df7a9a

root:x:0:0:root:/root:/bin/bash

---> ead0ff704a59

Removing intermediate container ebff78df7a9a

Step 6 : RUN chown -R testuser:testuser /var/local/testrunner/logs

---> Running in c925f67b2ab4

---> 253132be935e

Removing intermediate container c925f67b2ab4

Step 7 : RUN ls -ld /var/local/testrunner/logs

---> Running in 978bc66aa47e

drwxr-xr-x 2 root staff 4096 Oct 1 15:15 /var/local/testrunner/logs

Docker版本1.2.0,构建fa7b24f

主机运行Ubuntu 12.04,但具有3.13.0-36通用内核。

回答:

回答我自己的问题:它声明为卷。如果取出VOLUME指令,则将生效。

此外,如果您 运行chown 声明音量,则chown设置仍然有效。

以上是 为什么chown在Dockerfile中不起作用? 的全部内容, 来源链接: utcz.com/qa/433059.html

回到顶部