0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL+DevContainerによる開発環境でファイルの編集が出来なくなった

Posted at

はじめに

WSL+DevContainerでの開発環境でファイルの編集が出来なくなりました。
ひとまず解決することは出来たので備忘録として残します。

背景

WSL+DevContainerでフロントエンドの開発環境を構築しています。
今回はNodejsのバージョンをアップデートするためにDockerfileを編集してビルドをし直しました。
すると、chownによるファイルオーナーの変更が効かずファイルの編集が出来なくなってしまいました。
その後、Nodejsのバージョンを戻しDockerfileを差分のない状態にしても改善は見られませんでした。

Dockerfileは下記のようなイメージです。

Dockerfile
FROM node:22-alpine

RUN mkdir -p /app/node_modules &&\
    chown -R node:node /app

USER node

ENV HOST 0.0.0.0
EXPOSE 3000

このDockerfileでdocker-compose builddocker-compose upをし、コンテナ上でファイルの権限を確認しても、設定している通りのnodeにならずrootのままになってしまいました。

解決

Dockerバージョンのアップデート・ダウングレード、WSL再インストール、Dockerfileの記述の変更など色々と試したのですが、最終的にはWSLのユーザーをrootではなく任意のユーザーにすることで解決しました。

WSLインストール時にUNIXユーザー名を聞かれるのですが、今までは特に入力せずrootユーザーで作業していました。
そこで任意のユーザー名およびパスワードを入力することで、正常にファイルオーナーが設定できるようになりました。

おわりに

以前は出来ていたのに何故急に出来なくなったのか、何故この対応で解決したのかの原因までは調査出来ていませんが、もし同じことで悩んでいる方がいれば参考になると幸いです。
もし原因が分かれば追記しようと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?