Passer en argument à docker composer
Dans mon menu fixe composer fichier il est un domaine dynamique qui j'aimerais générer lors de l'exécution. En fait c'est un modèle de chaîne:
environment:
- SERVER_URL:https://0.0.0.0:${PORT}
Et je veux configurer cette PORT
paramètre dynamiquement
docker-compose run <service> PORT=443
Dans la documentation il est ARGS
les paramètres fixés, je suppose que je peux utiliser. Mais il n'y a pas d'information comment puis-je utiliser celles à l'intérieur de composer fichier
jetez un oeil à docs.docker.com/compose/compose-file/#compose-documentation il semble que pour répondre à votre question
cette solution est par des variables d'environnement. Je veux utiliser des arguments de ligne de commande au lieu
Lire cette réponse et de ses commentaires.
Je crois que ce que l'OP a besoin est d'être en mesure de passer d'une valeur à partir de docker-composition de l'appel. Essayez cette réponse stackoverflow.com/questions/35093256/...
cette solution est par des variables d'environnement. Je veux utiliser des arguments de ligne de commande au lieu
Lire cette réponse et de ses commentaires.
Je crois que ce que l'OP a besoin est d'être en mesure de passer d'une valeur à partir de docker-composition de l'appel. Essayez cette réponse stackoverflow.com/questions/35093256/...
OriginalL'auteur deeptowncitizen | 2017-04-21
Vous devez vous connecter pour publier un commentaire.
Dans docker-composer, les arguments sont disponibles et utiles seulement dans
dockerfile
. Vous pouvez spécifier ce que vous faites au niveau de l'avant comme suit:Votre port peut être réglé dans votre menu fixe-composer.yml:
Il est en fait une variable d'environnement dans tous les cas. Vous pouvez passer par le biais de votre commande à exécuter si qui s'adapte à vous:
Je pense que c'est possible avec pile de déployer. Voir ma réponse.
OriginalL'auteur dzof31
Vous pouvez utiliser le drapeau lors de l'utilisation de docker-composition de construire
Dans Dockerfile vous pouvez obtenir de l'argument de PRODUCTION
OriginalL'auteur blueandhack
Voir ce réponse. Vous pouvez le faire comme ceci:
PORT=433 docker-compose <command>
Vous pouvez même fournir plusieurs valeurs:
PORT=433 MYIP='192.168.123.456' docker-compose <command>
OriginalL'auteur Lars
C'est possible avec
stack deploy
Exemple Composer de Fichier dans votre section de l'environnement:
Pile de Déployer de Commande (j'ai couru ce de Gitbash dans Windows):
Référence
Voir cette Github post ici
OriginalL'auteur joshmcode
Il y a substitution de variable dans le menu fixe-Composer.
https://docs.docker.com/compose/compose-file/#variable-substitution
-e
n'est pas une option valable. Semble être la seule à travailler avecdocker run
Jure il l'habitude de travailler. Peut-être que ça a changé? J'étais peut-être tout simplement faux.
-e
ne semble plus fonctionner avecdocker run
. Avecdocker-compose
il doit être défini comme une variable d'environnement. La réponse ci-dessous à partir de @dzof31 semble être correct.c'est un travail, mais seulement pour certains des sous-commandes. E. g.
docker-compose run -e KEY=VAL
fonctionnent très bien.OriginalL'auteur sbzoom