Closed6

docker 内 sudo で password 要求される

tkttkt
node@abe7971cae7c:/app$ sudo npm install -g npm

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for node: 
Sorry, try again.

password わからないし、password なしで使えるようにしたい

tkttkt
FROM node:15.11.0-buster-slim AS build-env

ENV LC_ALL=C.UTF-8

RUN apt-get update && \
    apt-get install -y \
    curl \
    git \
    sudo


ENV UNAME=docker
ENV GID=1000
ENV UID=1000

RUN groupadd -g $GID -o $UNAME
RUN useradd -m -u $UID -g $GID -G sudo -o -s /bin/bash $UNAME
RUN echo "$UNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers


RUN curl https://raw.githubusercontent.com/nektos/act/master/install.sh | bash

RUN npm i -g typescript
RUN npm install -g firebase-tools vercel

WORKDIR /app

COPY package.json package.json
COPY yarn.lock yarn.lock

RUN yarn

COPY  . .

CMD [ "/bin/bash", "-c", "yarn && yarn build" ]

これで大丈夫と思ってたけどだめらしい

tkttkt
node@abe7971cae7c:/app$ id -u node
1000
node@abe7971cae7c:/app$ id -G node
1000
tkttkt
docker ALL=(ALL) NOPASSWD:ALL

を追加してるのに実行ユーザー名が node になってるのが問題な気がする?

tkttkt
> docker-compose run --rm -u docker app /bin/bash
node@624ef15b0062:/app$

docker の名前で入らせてくれない
すでに node って名前でユーザーが存在してるとかかな

tkttkt
RUN echo "node ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

追加で動いた。
あたり。

このスクラップは2021/11/07にクローズされました