Sou novo no Docker e vi que alguns scripts para executar software em contêiner exigem especificar qualquer um deles para corresponder a determinado usuário e grupo. Então eu estava me perguntando Qual é a diferença entre os dois? Exemplos abaixo para ilustrar.
Enquanto procurava informações, eu até vi alguns repositórios aleatórios do github isso mudou do primeiro para o posterior em algum momento; Qual é a diferença entre as duas opções?
Eu entendi sua pergunta como: "por que essas variáveis são chamadas PUID e PGID em vez de UID e GID"? Na verdade, eles poderiam ser nomeados qualquer coisa. Nem Docker nem Linux se importam. É o aplicativo que decide o que fazer com eles.
Uma pesquisa mais aprofundada revelou que este é apenas um convencao, e alguns aplicativos fazem suas próprias coisas. Por exemplo, aplicacao usa as variáveis de ambiente MAYAN_USER_UID e MAYAN_USER_GID respectivamente.
O uso do PUID e do PGID permite que nossos contêineres mapeiem o usuário interno do contêiner para um usuário na máquina host. Todos os nossos contêineres usam esse método de mapeamento do Usuário e devem ser aplicados de acordo.
Outra nota dessa página:
Estamos cientes de que versões recentes do mecanismo Docker introduziram o sinalizador --user. Nossas imagens ainda não são compatíveis com isso, por isso recomendamos o uso contínuo de PUID e PGID.
Então, é necessário executar o contêiner. Como isso é implementado depende dos mantenedores dessas imagens.
Eu entendi sua pergunta como: “por que essas variáveis são chamadas PUID e PGID em vez de UID e GID”? Na verdade, eles poderiam ser nomeados qualquer coisa. Nem Docker nem Linux se importam. É o aplicativo que decide o que fazer com eles.
@ MichaelHampton não acho; acho que deve haver alguma especificação ou documentação sobre isso em algum lugar, se não for uma coisa do Docker, talvez seja uma coisa do Linux, mas não consegui encontrá-la. Claro que eu poderia perguntar aos desenvolvedores, mas como essa pergunta não estaria realmente relacionada ao desenvolvimento de seu software, prefiro não incomodá-los com minha ignorância tangencial, se possível. Mas talvez esta seja uma pergunta mais adequada para superusuário?
@ MichaelHampton de fato, você estava correto desde o início. Parece que minha confusão veio de mim sem saber que variáveis de ambiente poderiam ser chamadas de qualquer coisa. Sinta-se à vontade para adicionar sua resposta como resposta para que eu possa marcá-la como solução. Além disso, obrigado por ajudar!