Aký identifikátor sa zobrazí pri spustení príkazu 'docker run alpine ID' v lokálnom účte kontajnera?
sobes.tech AI
Odpoveď od AI
V kontexte vykonávania príkazu docker run alpine ID nie je ID argument, ktorý by bol implicitne interpretovaný ako identifikátor používateľa vo vnútri spusteného kontajnera predvolene.
Príkaz docker run vytvorí a spustí nový kontajner z obrazu alpine. ID v tomto prípade funguje ako argument, ktorý bude odovzdaný ako príkaz alebo argument pre entrypoint alebo hlavnú príkaz (cmd) definované v obraze alpine.
Obraz alpine implicitne nespúšťa príkaz ID pri štarte bez explicitného určenia. Zvyčajne sa alpine používa na spustenie určitého príkazu alebo služby.
Ak v obraze alpine nie je definovaný špeciálny vstupný bod alebo príkaz, ktorý by spracovával argument ID, alebo ak definovaný príkaz nie je spustiteľný súbor s názvom ID, kontajner pravdepodobne skončí chybou, pretože taký súbor alebo príkaz nenájde.
Na zobrazenie identifikátora používateľa vo vnútri kontajnera je potrebné explicitne zadať príkaz id v docker run:
docker run alpine id
V tomto prípade bude zobrazený identifikátor používateľa, pod ktorým beží proces vo vnútri kontajnera. Vo väčšine obrazov (vrátane alpine) to bude používateľ root, teda identifikátor bude 0.
Ak chcete, aby bol príkaz ID vykonaný vo vnútri kontajnera, za predpokladu, že existuje spustiteľný súbor s takýmto názvom (čo je veľmi nepravdepodobné v štandardných obrazoch), pokusí sa ho docker run alpine ID spustiť ako hlavnú príkaz kontajnera.
Zhrnutie: Nebude zobrazený žiadny "lokálny identifikátor kontajnera" v zmysle ID používateľa alebo skupiny, ak ID nie je spustiteľný príkaz vo vnútri alpine kontajnera a nepresmeruje výstup identifikátora. Pri štandardnom použití alpine bude príkaz docker run alpine ID pravdepodobne končiť chybou. Aby ste videli identifikátor používateľa, musíte explicitne spustiť príkaz id.