Andor
docker_container_info есть, но только в 2.8
Andor
лень пересобирать раннер
George
Ууу
George
Проще раннер пересобрать, кмк, чем изобретать очередной лисапед
Andor
это да
Andor
я прост родной использую, а придётся свой говнякать
Vladislav 👻
а есть кто использует модуль docker_container? нафиг оно разбивает элементы массива из параметра command по пробелам и добавляет это всё в массив?
делаю вот так:
teamcity_db_docker_command:
- bash
- -e
- -c
- "chown mysql /var/run/mysql /var/log/mysql; . /entrypoint.sh"
- mysqld
...а оно превращается вот в это:
"Cmd": [
"bash",
"-e",
"-c",
"chown",
"mysql",
"/var/run/mysql",
"/var/log/mysql;",
".",
"/entrypoint.sh",
"mysqld",
...и закономерно ломается
Vladislav 👻
потому что это для параметров, а не баши стартовать...
Andor
Vladislav 👻
я вижу костыль, а не параметры
Andor
Твоё мнение расходится с мнением докера
Vladislav 👻
свой баш можно засунуть в контейнер
Vladislav 👻
и нет, никапельки не расходится
Andor
Да ты что
Andor
Докер композ норм работает с этими параметрами
Andor
Голый докер тоже
Andor
Передать строкой - работает
Vladislav 👻
причем тут композ и докер
Andor
Но ты вдруг говоришь, что это не работает
Vladislav 👻
ты спросил про command, я ответил, что это для параметров запуска контейнера
Andor
Я параметры и передаю
Vladislav 👻
что тебе мешает загнать в один элемент листа свой код - непонятно
Andor
Vladislav 👻
"Алё", почему у тебя больше одного элемента?
Vladislav 👻
а есть кто использует модуль docker_container? нафиг оно разбивает элементы массива из параметра command по пробелам и добавляет это всё в массив?
делаю вот так:
teamcity_db_docker_command:
- bash
- -e
- -c
- "chown mysql /var/run/mysql /var/log/mysql; . /entrypoint.sh"
- mysqld
...а оно превращается вот в это:
"Cmd": [
"bash",
"-e",
"-c",
"chown",
"mysql",
"/var/run/mysql",
"/var/log/mysql;",
".",
"/entrypoint.sh",
"mysqld",
...и закономерно ломается
Andor
Andor
Вот у тебя command и в нём список, прямо как у меня
Andor
Но у тебя в элементах списка нет пробелов
Vladislav 👻
нет
Andor
Нет да
Vladislav 👻
у тебя суть, что ты одну команду разделил
Vladislav 👻
более того, делаешь сверху выполнение, которое оптимально засунуть сразу в контейнер
Vladislav 👻
именно поэтому в докер и добавили entrypoint
Vladislav 👻
а не просто run
Andor
Andor
Vladislav 👻
ой всё
Andor
Что "ой всё"?
Andor
Я указываю валидные параметры, а ансибль их по пути до докера ломает
Andor
(либо питонский модуль)
Andor
И проблема не в том что я туда скрипт пихаю
Vladislav 👻
Vladislav 👻
но продолжай
Vladislav 👻
мне интересно
Andor
Лол
Andor
Разумеется невалидные потому что ансибль их ломает
Vladislav 👻
"chown mysql /var/run/mysql /var/log/mysql; . /entrypoint.sh"
Andor
Это валидный параметр
Andor
Один
Andor
Ансиблем превращается в несколько и становится невалидно
Vladislav 👻
screen есть в контейнере? о_0
Andor
думаю это зависит от контейнера
Andor
должно вернуть список из двух элементов, а возвращает из 4
Andor
- '"/tmp/hello slash cyberpunk"'а вот так работает, бггг
Andor
вощем уже можно багрепорт оформлять (и он небось уже починен в 2.8)
Vladislav 👻
а теперь вопрос, какой результат у этого должен быть?
Vladislav 👻
и почему docker-py?
Vladislav 👻
он депрекейт
Vladislav 👻
нет, больше волнует, какой результат ожидается от этой непонятной команды
Vladislav 👻
Andor
схуяли?
добро пожаловать в юникс, оно так работает
Vladislav 👻
Vladislav 👻
добро пожаловать в yaml
Andor
это 2.8?
Andor
при чём тут ямль?
Vladislav 👻
command:
- touch
- '"/tmp/hello slash cyberpunk"'
Andor
это не ямль по пробелам из строки делает список
Vladislav 👻
окей, я понял
Vladislav 👻
ты считаешь это багом, я считаю это фичей
Andor
это баг разумеется
Andor
я хочу передавать список и чтобы в докер он приходил списком
Andor
потому что это список
Vladislav 👻
покажи, как ты запускаешь руками контейнер для получения аналогичного результата?
Andor
andor@titude:~$ docker run -v /tmp:/tmp ubuntu:18.04 'touch' '/tmp/hello world'
andor@titude:~$ ls -l '/tmp/hello world'
-rw-r--r-- 1 root root 0 Jul 9 19:54 '/tmp/hello world'
Andor
вот например
Andor
передаю два параметра в контейнер и он делает то что ожидается
Vladislav 👻
вот вот, как видим, тут ты выделил '/tmp/hello world'