Puncte:1

sudo: nu existați în baza de date passwd

drapel cn

Ce am eu:

DIN ubuntu:20.04

ENV DEBIAN_FRONTEND=neinteractiv

RUN apt update -y \
    && apt install -y --no-install-recommends \
    sudo \
    && adduser --disabled-password --gecos "" --uid 1000 runner \
    && groupadd docker \
    && usermod -aG sudo runner \
    && usermod -aG docker runner \
    && echo „%sudo ALL=(ALL:ALL) NOPASSWD:ALL” > /etc/sudoers

USER alergător

RUN sudo usermod -u 1001 runner && sudo groupmod -g 121 runner

Construirea acestui Dockerfile are ca rezultat o eroare:

sudo: nu existați în baza de date passwd

Dacă l-am împărțit pe ultimul ALERGA în două ALERGAs, nu există nicio eroare:

DIN ubuntu:20.04

ENV DEBIAN_FRONTEND=neinteractiv

RUN apt update -y \
    && apt install -y --no-install-recommends \
    sudo \
    && adduser --disabled-password --gecos "" --uid 1000 runner \
    && groupadd docker \
    && usermod -aG sudo runner \
    && usermod -aG docker runner \
    && echo „%sudo ALL=(ALL:ALL) NOPASSWD:ALL” > /etc/sudoers

USER alergător

RUN sudo usermod -u 1001 runner
RUN sudo groupmod -g 121 runner

De ce se întâmplă asta?

Puncte:2
drapel us

În RUN sudo usermod -u 1001 runner && sudo groupmod -g 121 runner, Docker începe o SH proces ca alergător utilizator, care rulează aceste comenzi. Prima comandă schimbă UID-ul utilizatorului respectiv. Cu exceptia SH Procesul încă folosește vechiul ID și, prin urmare, atunci când încearcă să ruleze a doua comandă, încearcă să ruleze sudo cu un UID care nu mai există în passwd Bază de date. Când le împărți în două ALERGA comenzi, Docker pornește o nouă SH proces pentru al doilea ALERGA, care utilizează noul UID.

Nu am o soluție pentru asta, din moment ce nu știu de ce faci așa ceva. Aș sfătui să nu se schimbe aleatoriu UID-urile unui utilizator în timp ce încă rulează procese ca acel utilizator. sudo nu este singurul instrument căruia nu-i va plăcea.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.