端書き 最近Jenkinsとかでテスト書く上でDockerのお世話になっている。 プロジェクトごとの依存関係とかCI環境にいれなくていいのがとても素敵なのだけど、一つだけ不便な点がある。 そのままだとテストがrootで走ってしまう問題。 とくにテスト結果や生成物を保存したくてワークスペースを -v でコンテナにマウントしていると、root権限で書かれてしまってワークスペースを削除したりが失敗する。 というかテスト自体、root権限で動かせないケースもあったりなかったりなので、一般ユーザ権限で動かしたい。 Jenkinsの Docker Pipeline Plugin なんかだと -u オプションでユーザ権限で走らせていて、一見これで一件落着に見えるのだけど、地味に問題がある。 一つは存在しないユーザの可能性があること。そしてもう一つがroot権限を失うこと。 最初はこれでいいじゃないか、と