Monter un volume dans le panneau-composer. Comment est-il fait?
Si j'exécute ce cmd dans une console:
docker run -it --rm --link rabbit --link elasticsearch -v "$PWD"/logstash:/config-dir logstash logstash -f /config-dir/logstash.conf
Il fonctionne très bien. À l'intérieur ./logstash dossier il y a un logstash.conf.
Mais maintenant j'essaie de la mettre dans un docker-composer et même ne fonctionne pas:
logstash:
image: logstash:latest
links:
- "elasticsearch:elasticsearch"
- "rabbit:rabbit"
volumes:
- $PWD/logstash:/config_dir
command:
- "-f /config_dir/logstash.conf"
Mais je ne vois pas la différence entre les deux commandes. Un peu d'aide? Comment est-il du volume de montage fait? Ou est la commande qui ne fonctionne pas? Réponse de logstash init est:
logstash_1 | {:timestamp=>"2016-07-06T15:43:06.663000+0000", :message=>"No config files found: //config_dir/logstash.conf\nCan you make sure this path is a logstash config file?", :level=>:error}
rabbitmq_logstash_1 exited with code 1
Edit: j'ai finalement résolu le problème en supprimant la commande et à l'aide de la commande par défaut de l'image d'origine, mais je ne comprends toujours pas le problème, et comment la même commande est passée à docker et fonctionne, mais si il est passé à travers docker-le composent ne le sont pas.
Merci d'avance
OriginalL'auteur Killrazor | 2016-07-06
Vous devez vous connecter pour publier un commentaire.
De la config est probablement pas de travail parce que votre version de docker-composer de ne pas exécuter le shell expansions lors de la création de votre conteneur. Cela signifie que le panneau de composer est d'essayer de trouver un chemin
$PWD/logstash
au lieu de s'élargir$PWD
à votre répertoire. Les versions ultérieures de docker composer de ne permettre l'expansion des variables d'environnement.Docker-composer ne permettre à des chemins relatifs bien que, grâce à l'utilisation de
./
, qui fait référence à la dossier de composer un fichier est en cours, pas nécessairement votrepwd
, donc, vous avez juste besoin de modifier votre fichier composer:./dir
est de savoir comment vous faites référence à un répertoire sur votrepwd
si vous n'avez.dir
il serait recherchez un dir nom ".dir"question bête, mais est le logstash dossier dans le même répertoire que votre menu fixe composer fichier?
Vous pourriez tout aussi bien utiliser un chemin absolu, si cela fonctionne, alors vous savez que le problème est le chemin relatif à l'
Mise à jour - expansion des variables d'Environnement est en fait pris en charge dans le Panneau de Composer des fichiers de la version 2 et 3. Encore, le chemin relatif de la syntaxe reste la meilleure façon de définir les volumes endroits, car ils sont relatifs à l'emplacement de la composition du fichier, plutôt que de l'utilisateur du répertoire de travail courant.
OriginalL'auteur Will Barnwell