Soy nuevo en Docker y he visto que algunos scripts para ejecutar software en contenedores requieren especificar cualquiera de ellos para que coincida con cierto usuario y grupo. Así que me preguntaba ¿cuál es la diferencia entre ambos? Ejemplos a continuación para ilustrar.
Mientras buscaba información, incluso vi algunos repositorios aleatorios de Github eso cambió de la primera a la última en algún momento; ¿cuál es la diferencia entre ambas opciones?
Entendí que su pregunta era: "¿Por qué estas variables se llaman PUID y PGID en lugar de UID y GID"? De hecho, podrían llamarse cualquier cosa. Ni Docker ni Linux se preocupan. Es la aplicación la que decide qué hacer con ellos.
Una búsqueda más profunda reveló que esto es simplemente un convención, y algunas aplicaciones hacen lo suyo. Por ejemplo, una aplicación utiliza las variables de entorno MAYAN_USER_UID y MAYAN_USER_GID, respectivamente.
El uso de PUID y PGID permite a nuestros contenedores asignar el usuario interno del contenedor a un usuario en la máquina host. Todos nuestros contenedores utilizan este método de asignación de usuarios y deben aplicarse en consecuencia.
Otra nota de esa página:
Somos conscientes de que las versiones recientes del motor de Docker han introducido el indicador --user. Nuestras imágenes aún no son compatibles con esto, por lo que recomendamos continuar con el uso de PUID y PGID.
Por lo tanto, es necesario ejecutar el contenedor. La forma en que se implementa depende de los mantenedores de esas imágenes.
Entendí que su pregunta era: “¿Por qué estas variables se llaman PUID y PGID en lugar de UID y GID”? De hecho, podrían llamarse cualquier cosa. Ni Docker ni Linux se preocupan. Es la aplicación la que decide qué hacer con ellos.
@MichaelHampton No lo creo; creo que debe haber alguna especificación o documentación sobre esto en alguna parte, si no es algo de Docker, tal vez sea algo de Linux, pero no pude encontrarlo. Por supuesto que podría preguntar a los desarrolladores, pero como esta pregunta no estaría realmente relacionada con el desarrollo de su software, preferiría no molestarlos con mi ignorancia tangencial si es posible. Pero tal vez esta es una pregunta más adecuada para Superusuario en su lugar?
@MichaelHampton De hecho, tenías razón desde el principio. Parece que mi confusión vino de que no sabía que las variables de entorno podían llamarse cualquier cosa. Por favor, siéntase libre de agregar su respuesta como respuesta para que pueda marcarla como solución. Además, gracias por ayudar!