New Rice Growth

新米SESエンジニア日々の成長日記

alpineのユーザ作成が曲者だった

alpineのユーザ作成がうまく行かなかった

alpine環境のnodeのdocker imageを元にDockerfileを書いていて、dockerfileにlinuxユーザを作成する命令を書いてdocker-compose buildしたとき

Building app
Step 1/7 : FROM node:12.12.0-alpine
 ---> 0fcfd7e52b09
Step 2/7 : WORKDIR /usr/src/app
 ---> Running in 1f7f40cfe516


<<<< 中略 >>>>


/bin/sh: useradd: not found
ERROR: Service 'app' failed to build : The command '/bin/sh -c useradd -m --uid ${DOCKER_UID} --groups sudo ${DOCKER_USER}   && echo ${DOCKER_USER}:${DOCKER_PASSWORD} | chpasswd' returned a non-zero code: 127

useraddコマンドがないよとのこと

結論

adduserコマンドを使いましょう
オプションの使い方も違うので注意

adduser

Usage: adduser [OPTIONS] USER [GROUP]

Create new user, or add USER to GROUP

    -h DIR      Home directory
    -g GECOS    GECOS field
    -s SHELL    Login shell
    -G GRP      Group
    -S      Create a system user
    -D      Don't assign a password
    -H      Don't create home directory
    -u UID      User id
    -k SKEL     Skeleton directory (/etc/skel)