Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[4.2] Docker ホストのユーザーの UID と GID を www-data にマッピングする #5771

Merged
merged 1 commit into from
Sep 9, 2022

Conversation

nanasess
Copy link
Contributor

@nanasess nanasess commented Sep 7, 2022

概要(Overview・Refs Issue)

#5369 の影響で、 Linux 及び Windows(WSL2) の Docker においてホストのディレクトリをマウントした場合、 www-data の UID/GID に強制的に変更されてしまうようになった。
そのままではファイルの編集ができなくなってしまい、開発用途では大変使いづらいため、ホストのUID/GID を www-data ユーザーにマッピングする。
macOS の場合は影響ありません。

以下のように docker-compose コマンドを実行することで、ホストのユーザー
の UID 及び GID を www-data ユーザーにマッピングできる

UID=${UID} GID=${GID} docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d

.bashrc などに設定しておけば、毎回指定しなくてもよい

echo "export UID=${UID} GID=${GID}" >> .bashrc

方針(Policy)

  1. docker-compose.dev.yml にて UID/GID の値を環境変数へ渡す
  2. dockerbuild/docker-php-entrypoint にて、 www-data の UID/GID を環境変数の値に変更

実装に関する補足(Appendix)

テスト(Test)

Docker for Windows(WSL2) にて、ホスト側ファイルの UID/GID が変更されないことを確認

相談(Discussion)

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更はありません
  • フックポイントの呼び出しタイミングの変更はありません
  • フックポイントのパラメータの削除・データ型の変更はありません
  • twigファイルに渡しているパラメータの削除・データ型の変更はありません
  • Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
  • 入出力ファイル(CSVなど)のフォーマット変更はありません

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • 互換性が保持されているか
  • セキュリティ上の問題がないか
    • 権限を超えた操作が可能にならないか
    • 不要なファイルアップロードがないか
    • 外部へ公開されるファイルや機能の追加ではないか
    • テンプレートでのエスケープ漏れがないか

以下のように docker-compose コマンドを実行することで、ホストのユーザー
の UID 及び GID を www-data ユーザーにマッピングできる

```
UID=${UID} GID=${GID} docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d
```
@codecov-commenter
Copy link

Codecov Report

Merging #5771 (eb851f6) into 4.2 (01ff147) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                4.2    #5771   +/-   ##
=========================================
  Coverage     78.86%   78.86%           
  Complexity     6275     6275           
=========================================
  Files           469      469           
  Lines         21078    21078           
=========================================
  Hits          16623    16623           
  Misses         4455     4455           
Flag Coverage Δ
E2E 64.86% <ø> (ø)
Unit 77.61% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...be/Service/PurchaseFlow/Processor/TaxProcessor.php 82.45% <0.00%> (-1.76%) ⬇️
src/Eccube/Entity/TaxRule.php 86.41% <0.00%> (+1.23%) ⬆️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@chihiro-adachi
Copy link
Contributor

@nanasess
ありがとうございます。マージしました

@nanasess nanasess deleted the relate-user branch October 3, 2022 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants