-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
お世話になっております。
マニュアルに従い以下のコマンドでWHEELを起動すると、標題の通り作成されたファイルの所有者が root になってしまいます。
docker run -d -v ${HOME}:/root -v CONFIG_DIR/config:/usr/src/server/app/config -p 8089:8089 tmkawanabe/wheel:latest
このため、たとえば Jupyter notebookと連携するチュートリアル などで Permission denied のエラーが出ます。
検証環境は以下ですが、環境に依らずDocker であれば同じ事象が発生すると思われます。
- Windows 11 Pro 24H2 内の WSL2 Ubuntu 24.04 LTS
- Intel(R) Core(TM) Ultra 7
- Docker version 28.0.1, build 068a01e
以下は、現在手元で使っている回避策です。
差し支えなければ次期バージョンへの反映を検討していただけると幸いです。
以下のようにDockerfileで実行ユーザを、たとえば 1000 に変更して docker build することが考えられます。(1000としたのはJupyter notebookのdockerイメージのユーザと合わせるためです)
--- a/Dockerfile
+++ b/Dockerfile
@@ -42,4 +42,7 @@ COPY --from=builder /usr/src/server/app/public /usr/src/server/app/public
COPY entrypoint.sh /usr/src/server/
RUN rm -fr server/app/config/* server/test/
+RUN chown -R 1000:1000 /usr/src
+
+USER 1000
ENTRYPOINT ["./entrypoint.sh"]ユーザを変更したことでdockerコンテナ内でのホーム領域 /root から /home/node/ に変わるため、マウント先も修正する必要があります。
docker run であれば
docker run -v ${HOME}:/home/node (以下略)
docker compose (compose.yml) であれば
wheel:
(中略)
volumes:
- - "${PWD}/:/root"
- - "${HOME}/.wheel/:/root/.wheel"
+ - "${PWD}/:/home/node"
+ - "${HOME}/.wheel/:/home/node/.wheel"です。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels