J'ai dockerfile avec entréePoint: et commande dans entréepoint.sh:docker run my_image --some-flag
3 Réponses :
Vous devriez pouvoir passer une variable d'environnement à partir de votre commande d'exécution de votre CMD avant que la "cmd" ne soit déclenchée.
Pour faire, essayez d'utiliser le '' Clause de cette façon (non testée, mais devrait fonctionner): et dans votre commande: p> c'est l'idée de base p > p>
Cela a du sens, pas plus d'un drapeau?
Non, vous pouvez transmettre autant que possible dans les "extra_opts". Il est préférable d'utiliser seulement une env Var pour tous parce que c'était que cela est prévisible: ce sera celui env Var pour tous les drapeaux supplémentaires. Cela devrait être STG comme "extra_opts =" - un drapeau - un autre drapeau "'(à tester!)
Passez une variable d'environnement: Vous pouvez accéder au drapeau via $ flag code> à l'intérieur de votre dockerfile code> que vous pouvez passer à votre < code> script code> p> p>
Si vous utilisez la forme JSON-TRAY de J'encouragerais pas Essayer d'écrire des scripts complexes en ligne dans un Par exemple, je pourrais refacturer votre script dans: P > puis écrivez un dockerfile: p> et ensuite vous allez courir: < / p> vous permettriez également d'exécuter des commandes de débogage ordinaires telles que: p> dans cet exemple spécifique, je voudrais probablement compter sur certains Système externe pour formater et capturer les messages du journal et ne pas essayer de le faire à l'intérieur du conteneur. Routage des journaux de conteneur Docker pour se connecter, par exemple, est une configuration assez typique. P> p> entréePoint code>, tout dans cmd code> est transmis comme des arguments de ligne de commande sur le point d'entrée. dockerfile code> ou docker-compose.yml code> fichier. Écrivez un script ordinaire, copier code> dans l'image et apportez ce script le fichier code>. Il peut se référer à la variable de coquille "$ @" code> pour exécuter son cmd code>. P>