Contenedor Docker con expansión variable de punto de entrada y parámetros CMD
Quiero crear una imagen de Docker que actúe como un ejecutable para el cual el usuario pasa un token como una variable de entorno. El ejecutable tiene subcomandos que el usuario debe pasar a través de los dockers CMD (piense en git con autenticación a través de Env). Sin embargo, Docker no agrega el CMD al punto de entrada. La parte relevante de mi Dockerfile se ve así:
ENTRYPOINT ["/bin/sh", "-c", "/usr/bin/mycmd --token=$MY_TOKEN"]
CMD ["pull", "stuff"]
Entonces, si este contenedor se ejecuta sin ninguna anulación de CMD ysecret
como la variable MY_TOKEN, esperaría
mycmd --token=secret pull stuff
para ser ejecutado Si el usuario inicia el contenedor con una anulación, p.
docker run -it -e MY_TOKEN=secret myimage push junk
Yo esperaría
mycmd --token=secret push junk
para ser ejecutado Como se mencionó anteriormente, sin embargo, solomycmd --token=secret
se ejecuta, el CMD se ignora, no importa si lo anulo durante el inicio o lo configuro en el Dockerfile.