Docker
Dockerコンテナ内で作成したファイルがホスト側からアクセスできなくなる現象
ホストOSのディレクトリをコンテナにマウントして、コンテナ側からそこにファイルを保存すると、それらのファイルをホストOS側で開くことができなくなってしまう。
コンテナの内でnpm installできない
node_modulesのownerがrootになるのが原因
node.jsの公式イメージは、ログインユーザーをnodeにすることを推奨している。そのため、DockerfileでUSERを指定する必要がある。
しかし、コンテナに名前付きボリュームをマウントした場合は、ログインユーザーがボリュームを作成するわけではないので、マウントポイントのownerがrootになってしまう。この場合はコンテナの作成時にディレクトリの所有者を変更する必要があるため、Dockerfileでchownする。
ホストOSでログインしているuidとnodeのuidが一致するのは偶然?