回答:
バージョンv17.09.0-ce以降の場合
またはコマンドでオプションのフラグ--chown=<user>:<group>
を使用します。ADD
COPY
例えば
COPY --chown=<user>:<group> <hostPath> <containerPath>
--chownフラグのドキュメントは、メインのDockerfileリファレンスページに掲載されています。
問題34263はマージされ、リリースv17.09.0-ceで利用可能です。
v17.09.0-ceより古いバージョンの場合
DockerはCOPY
root以外のユーザーとしてはサポートしていません。コマンドの後にファイルをchown
/ する必要がchmod
あります。COPY
Dockerfileの例:
from centos:6
RUN groupadd -r myuser && adduser -r -g myuser myuser
USER myuser
#Install code, configure application, etc...
USER root
COPY run-my-app.sh /usr/local/bin/run-my-app.sh
RUN chown myuser:myuser /usr/local/bin/run-my-app.sh && \
chmod 744 /usr/local/bin/run-my-app.sh
USER myuser
ENTRYPOINT ["/usr/local/bin/run-my-app.sh"]
v17.09.0-ce以前は、COPY
コマンドのDockerfileリファレンスは次のように述べています。
すべての新しいファイルとディレクトリは、UIDとGIDが0で作成されます。
歴史 :この機能は、複数のGitHubの問題を通して追跡された6119、9943、13600、27303、28499、発行30110。
chown
40MBのファイルで実行する場合は> 300MB )。