2016-07-06 2 views
4

Если я выполнить эту ЦМД в консоли:Установите громкость в докере. Как это делается?

docker run -it --rm --link rabbit --link elasticsearch -v "$PWD"/logstash:/config-dir logstash logstash -f /config-dir/logstash.conf 

Он работает отлично. Внутри ./logstash есть файл logstash.conf. Но теперь я пытаюсь поставить в Докер-композе и то же не работает:

logstash: 
    image: logstash:latest 
    links: 
    - "elasticsearch:elasticsearch" 
    - "rabbit:rabbit" 
    volumes: 
     - $PWD/logstash:/config_dir 
    command: 
    - "-f /config_dir/logstash.conf" 

Но я не могу видеть разницу между обеими командами. Некоторая помощь? Как производится установка громкости? Или команда, которая не работает? Ответ logstash INIT является:

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: я, наконец, решить эту проблему, удалив команду и с помощью команды по умолчанию исходного изображения, но я до сих пор не понимают эту проблему и как та же команда передается в докер и работает, но если он передается через docker-compose, не делайте этого. Заранее спасибо

ответ

11

Ваша конфигурация, вероятно, не работает, потому что docker-compose не выполняет расширения оболочки при создании вашего контейнера. Это означает, что сборщик докеров пытается найти литеральный путь $PWD/logstash вместо расширения $PWD в ваш настоящий каталог.

Докер-компоновать does allow relative paths, хотя, за счет использования ./, который ссылается на папку файл Compose находится, не обязательно ваш pwd, так что вам просто нужно изменить файл письма, чтобы быть:

volumes: 
    - ./logstash:/config_dir 
+0

Нет такой же ошибки. Я подозреваю, что команда, потому что сообщение об ошибке помещает другую косую черту «Нет файлов конфигурации://config_dir/logstash.conf. Что это за слэш? – Killrazor

+0

'./Dir' как вы ссылаетесь на каталог на вашем 'pwd', если вы сделали' .dir', он будет искать имя dir ".dir" –

+0

глупый вопрос, но является ли папка logstash в том же каталоге, что и ваш файл для докеры? –

Смежные вопросы