Ошибка по команде: Docker запустил direvius / yandex-tank - PullRequest
0 голосов
/ 22 октября 2019

Я только что начал с яндекс-танка и не смог на первом шаге.

Я пытаюсь выполнить команду

docker run direvius/yandex-tank

И получил ошибку:

Traceback (most recent call last):
  File "/usr/local/bin/yandex-tank", line 11, in <module>
    load_entry_point('yandextank==1.12.1', 'console_scripts', 'yandex-tank')()
  File "/usr/local/lib/python2.7/dist-packages/yandextank/core/cli.py", line 130, in main
    log_handlers=handlers
  File "/usr/local/lib/python2.7/dist-packages/yandextank/core/consoleworker.py", line 327, in __init__
    self.config_list = self._combine_configs(configs, cli_options, cfg_patches, cli_args, no_local)
  File "/usr/local/lib/python2.7/dist-packages/yandextank/core/consoleworker.py", line 354, in _combine_configs
    parse_and_check_patches(cfg_patches) + \
  File "/usr/local/lib/python2.7/dist-packages/yandextank/core/consoleworker.py", line 77, in load_cfg
    with open(cfg_filename) as f:
IOError: [Errno 2] No such file or directory: 'load.yaml'

Моя среда - Windows. И я не понимаю, как я могу добавить load.yaml без запуска контейнера? И я не могу запустить контейнер без load.yaml

1 Ответ

0 голосов
/ 22 октября 2019

yandex-tank использует load.yaml в каталоге в качестве файла конфигурации по умолчанию. Тем не менее, изображение контейнера не имеет такого файла https://github.com/yandex/yandex-tank/blob/develop/docker/Dockerfile.

Учитывая, что его точка входа сразу запускает yandex-tank, я думаю, вам нужно будет создать новое изображение, используя в качестве базы FROM direvius/yandex-tankи COPY ваша конфигурация для этого образа, либо в качестве значения по умолчанию load.yaml, либо с другим именем / путем (в этом случае вы должны использовать опцию -c при запуске образа).

Вы не можете запустить direvius/yandex-tank, а затем docker cp load.yaml <container_path>, потому что с самого момента запуска контейнера он вылетает с ошибкой, которую вы получили.

...