[解決済み】非 root で Docker COPY するには?
2022-04-09 16:43:29
質問
Dockerイメージのビルド中に、どのように
COPY
をイメージに挿入し、生成されたファイルの所有者を root 以外のユーザーにすることはできますか?
解決方法は?
バージョン 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 以前では、Dockerfile Reference にある
COPY
コマンドにはこう書かれています。
すべての新しいファイルとディレクトリは、UID と GID が 0 で作成されます。
歴史 この機能は、複数のGitHub issueで追跡調査されています。 6119 , 9943 , 13600 , 27303 , 28499 , 課題30110 .
課題番号 34263 は、オプショナルフラグ機能を実装したイシューで 課題番号 467 は、ドキュメントを更新しました。
関連
-
[解決済み] Dockerfileの'COPY'と'ADD'コマンドの違いは何ですか?
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] 古いDockerコンテナを削除する方法
-
[解決済み] Dockerでイメージのクリーンビルドを強制する方法
-
[解決済み] Dockerでコンテナを一覧表示する方法
-
[解決済み】Dockerは仮想マシンとどう違うの?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Dockerエラー:無効な参照形式:リポジトリ名は小文字でなければならない
-
[解決済み] docker-composeでホスト名を設定する方法を教えてください。
-
[解決済み] 停止したDockerコンテナを再起動する方法
-
[解決済み] docker-compose: バインドマウントとマネージドマウントのマウントを定義する
-
[解決済み] docker-machine: コマンドが見つかりません。
-
[解決済み】擬似TTYを割り当てるDockerの-tオプションに戸惑う
-
[解決済み】Dockerのイメージを削除する方法を教えてください。
-
[解決済み】アプリケーションのヘルスチェックに/healthzを使用する慣習はどこから来ているのでしょうか?
-
[解決済み】Docker: プロジェクトに複数のDockerfileが存在する
-
[解決済み】dangling imageとunused imageとは何ですか?