Dockerでnodeイメージでuseradd -u 1000が失敗する

-vでホストとコンテナがファイルを共有している場合、ホストのuidとコンテナのuidが一致しているとパーミッションで書き込めない問題が起こらない

ので、Dockerfileでuid=1000のユーザを作ろうとした。イメージはnode:latest

 

RUN groupadd --force -g 1000 user

RUN useradd -ms /bin/bash --no-user-group -g 1000 -u 1000 user

 

useradd: UID 1000 is not unique

こんなエラーが出る

FROMに指定したイメージにuidが1000のユーザがすでに存在するので、作ることはできない

設定を変更することは可能

 

user: '1000'

docker-compose.yamlを使っている場合、コンテナにユーザを指定可能

ユーザ名でなく、uidを指定してもログイン可能っぽい

 

 

参考

dockerfile で一般ユーザーを作成する #Docker - Qiita

Adding a non-root user with UID 1000 breaks custom builds · Issue #289 · nodejs/docker-node · GitHub

ローカルとdockerコンテナ側のUID,GIDを揃える - やる気がストロングZERO