Quiero pasar un valor secreto que necesita una aplicación que se ejecuta en un contenedor Docker. Este contenedor en particular es de corta duración: se inicia, ejecuta un comando y luego termina.
Método 1: pase el valor como una variable de entorno a través de la línea de comandos al iniciar el contenedor (Docker lo admite como un argumento de línea de comandos para iniciar un contenedor). Siento que esto es malo ya que el comando aparecerá en las listas de proceso (con la clave y todas) en la máquina host que inició el contenedor de la ventana acoplable.
Método 2: Pase el valor como una variable env a través de un archivo de variable env. Esto resuelve el problema de la lista de procesos, pero la ejecución de docker info
en el contenedor en ejecución desde el host muestra una lista de todas las variables de entorno establecidas para ese contenedor. Esto me hace creer que Docker está almacenando estos en algún lugar del disco en el host que no es seguro (ya que agregar una nueva variable de entorno en el contenedor en ejecución no actualiza esta lista, no debe estar leyendo directamente en tiempo real).
En general, siento que las variables de entorno no son adecuadas para almacenar datos secretos de forma segura (aunque solo sea temporalmente), pero no tengo el conocimiento suficiente para respaldar este pensamiento.
¿Qué es un método seguro para pasar datos secretos a un contenedor?