我正在嘗試使用docker-compose 設置開發環境,並且我的容器似乎沒有對安裝到容器的主機目錄 的權限,使用docker-compose向主機目錄添加權限
app_1 | Warning: Unable to delete ".tmp" file (EACCES, permission denied '.tmp'). Use --force to continue.
這裏是我的搬運工文件:運行 當試圖修改卷文件夾內的一個咕嚕任務m如果這個錯誤
FROM node:0.10
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
RUN apt-get update \
&& apt-get install -y --no-install-recommends ruby-sass \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get clean -y \
&& apt-get autoremove -y
RUN npm install -g grunt-cli bower
RUN groupadd -r node \
&& useradd -r -m -g node node
RUN chown -R node:node /usr/src/app
USER node
EXPOSE 8080
和我的搬運工,撰寫文件:
app:
build: .
dockerfile: Dockerfile.dev
ports:
- "9000:9000"
env_file:
- ./server/config/env/development.env
volumes:
- ./:/usr/src/app:Z
command: bash -c "npm install && bower install && grunt dev && npm start"
db:
ports:
- "27017:27017"
- 我運行Ubuntu 15.10與碼頭工人,撰寫版本1.5.2,構建我使用7240ff3
- 注位:Z許可
嗯,你設置了權限,但是你在上面掛載了一個卷,它將擁有不同的權限。 –
但是看起來權限是用node + root做的 - 如果你刪除USER節點行,它是否工作? –
@AdrianMouat - 我嘗試刪除mkdir行,我同意它是多餘的,但它不是什麼打破我的權限,據我所知,得到了相同的錯誤 要求編輯Dockerfile:https://gist.github.com/avif/a7a99b14a6abca6157e6 我嘗試刪除節點用戶相關的行,它確實工作(!),雖然現在應用程序正在使用與我的生產設置不同的root用戶 - 這是首先使用docker的全部要點。 .. 要求編輯Dockerfile:https://gist.github.com/avif/c26d7a389aad11e8e69d 但是,謝謝,至少現在問題是孤立的節點用戶 –