【发布时间】:2021-12-24 12:32:31
【问题描述】:
我想创建一个uploads 卷并将其所有者设置为node 用户。但是在运行容器时,我发现卷的所有者是root。这是我的 Docker 文件:
FROM node:12.21
RUN apt-get update && apt-get -y install curl vim bash nano
WORKDIR /home/node/app
COPY package.json .
COPY yarn.lock .
RUN mkdir ./uploads
RUN chown -R node:node .
USER node
RUN yarn install
COPY --chown=node:node . .
VOLUME /home/node/app/uploads
我使用docker-compose build 然后docker-compose up 来构建和运行;我的docker-compose.yml 还包含一个音量指令:
services:
...
server:
...
volumes:
- ./uploads:/home/node/app/uploads
我的测试表明docker-compose.yml 中的这条指令是导致问题的原因——没有它,uploads 目录所有者被正确设置为node——但我不明白为什么。在这种情况下,docker-compose.yml 中的指令是多余的吗?如果我想将卷映射到本地目录(我相信这个指令是必要的),怎么样?
【问题讨论】:
标签: docker docker-compose docker-volume