𝑰𝒍𝒉𝒐𝒎
George
Но в общем набросок. Могут быть детали, что придется притащить какой-нибудь супервизор внутрь
𝑰𝒍𝒉𝒐𝒎
Далее exec $@ и в cmd передаёте mocha
вот здесь теоритческий понял, а как реализовать нет. есть примеры7
George
https://github.com/puckel/docker-airflow/blob/master/script/entrypoint.sh
George
Примерно +/-
George
Вообще гуголь с правильным запросом поможет
George
Я почти наверняка уверен, что описываемая вами проблема кем-то решена уже
𝑰𝒍𝒉𝒐𝒎
Примерно +/-
годиться. спасибо
Monch
подскажите, пожалуйста. некорректно удалил plex, теперь его в portainer не видно, но по старому адресу plex все равно запускается. лазил под рутом, удалил контейнер, удалил файлы настройки , но plex все равно от куда то вылазит. Где он может еще сидеть?
LEXASOFT
docker ps -a
kSandr
docker ps -a | awk '{print $1}' | xargs -I {} docker rm -f {} 😊
Alexey
docker ps -a | awk '{print $1}' | xargs -I {} docker rm -f {} 😊
А что пустые {} обозначают?
George
-I - это плейсхолдер
kSandr
George
почитай man xargs
Alexey
Спасибо)
Monch
docker ps -a | awk '{print $1}' | xargs -I {} docker rm -f {} 😊
это команда на удаление всех контейнеров? Это шутка такая что ли?
Anonymous
это команда на удаление всех контейнеров? Это шутка такая что ли?
1) да 2) ну... да, можно awk убрать и юзать docker ps -aq
Anonymous
а че не так-то?)
Anonymous
А что пустые {} обозначают?
а... виндовый админ знакомица с линей... все ясно =) ожидали красивую кнопочку "удалить все контейнеры", да?
Tadeusz
пхах
Monch
а че не так-то?)
надо как то предупреждать, что данная команда на удаление всех контейнеров.
Anonymous
😮
Tadeusz
пхахах
Anonymous
я думал копи-пастить втупую с интернетов уже давно пробитая тема
Monch
я думал копи-пастить втупую с интернетов уже давно пробитая тема
проблему кстати не решило. plex по прежнему отзывается по своему адресу
Anonymous
ну полагаю rm -rf /** должно помочь
Monch
ну полагаю rm -rf /** должно помочь
думаю без sudo не дадут
kSandr
ну полагаю rm -rf /** должно помочь
нет, это не поможет, нужно делать так ... sudo dd if=/dev/null of=/dev/sda
kSandr
лол действительно ввел чтоль ? )))) АХАХАХ
kSandr
предлагаю таки зайти на хост где крутится этот плекс и провернуть еще раз )
kSandr
можешь попробовать вбить еще это ... netstat -tulpan | grep -i plex | awk '{print $7}' | cut -d '/' -f 1 | xargs kill -9 ps -aux | grep -i plex | awk '{print $2}' | xargs kill -9
RE
Если параметры сервиса не меняются то stack deploy не вызывает перегрузку
у меня есть один сервис - это ms sql сервер и второй сервис на базе mcr.microsoft.com/mssql-tools в котором вызывается sql скрипт создающий и заполняющий базу данными. так вот второй сервис после выполнения команды вида: command: bash -c "sleep 30 && /opt/mssql-tools/bin/sqlcmd -S 'sql_server,1433' -U sa -P 'pass' -Q 'CREATE DATABASE [test_db]' && /opt/mssql-tools/bin/sqlcmd -S 'sql_server,1433' -U sa -P 'pass' -d test_db -i 'sql/create_db.sql'" перезагружается и все начинается заново. потому и ищу способ запускать сервис в docker stack (или compose) только один раз
kSandr
а еще ... restart=always
RE
а еще ... restart=always
в docker stack эта директива не используется..
kSandr
в docker stack эта директива не используется..
в стаке он рестартит всегда если не ошибаюсь
RE
а вот while done я тож уже думал.. но там же не из-за exit code оно рестартится
kSandr
а вот while done я тож уже думал.. но там же не из-за exit code оно рестартится
оно рестартит потому-что у тебя команда заканчивает выполняться, .... а while true будет работать без остановки
kSandr
как сервис
RE
ну так а можно сделать такой сервис чтобы он выполнился и спокойно ушел на покой? )
RE
без постоянного висения в памяти
RE
понимаю что там мало он кушает, но.. хочется красиво
kSandr
ну так а можно сделать такой сервис чтобы он выполнился и спокойно ушел на покой? )
я несовсем понял что тебе нужно, что-бы он не рестартился ?
RE
он должен один раз запуститься и создать базу. все. зачем он потом мне?
kSandr
он должен один раз запуститься и создать базу. все. зачем он потом мне?
docker stack - оперирует сервисами, что подразумевается что он будет всегда рестартиться, ... если тебе нужно что-бы он потом свернулся, тогда нужно запускать его без стака , а просто как docker run --rm blabla command можно приатачить его к стаковской сети
.
эм.. а что?
Команду для создания базы
.
Create if not exists
RE
хм.. а слона то я и не заметил спасибо!
kSandr
да , нормальное решение !
RE
похоже вот более норм решение) restart_policy: condition: on-failure https://docs.docker.com/compose/compose-file/#restart_policy
Kana
Ребятки привет. У меня короч проблема. Есть конфиг докер композ: web: build: context: ./ dockerfile: deploy/web.docker volumes: - ./..:/var/www ports: - "${DOCKER_WEB_PORT:-8000}:80"Так вот, када у еня пустой .env файл, докер ругается Invalid interpolation format for "ports" option in service "web": "${DOCKER_WEB_PORT:-8000}:80" хотя я думал что он просто порт посадит на 8000
rmshell
Порт минус?
Kana
мне надо чтобы если энв пустой, то 8000 ставился
Kana
ну я када минус убираю - всё равно не работает :/
Kana
Invalid interpolation format for "ports" option in service "web": "${DOCKER_WEB_PORT:8000}:80"
rmshell
А в баше типа есть тернарник?
Kana
не понял. Я просто docker-compose up -d запускаю
rmshell
${variableName}:port
rmshell
В имени переменной не может быть : или -
Kana
В имени переменной не может быть : или -
А как мне дефолтное значение передать на случай если у меня не будет .env файла?
rmshell
Врятли в ямл можно запихать выражение и потом инициировать его выполнение если Хилтоне етерпоинт или кмд
rmshell
Должно же быть .env и .env.example
Kana
есть .env.docker
rmshell
cp .env.example .env
Kana
ну так не интересно
rmshell
И там уже пиши что надо
Kana
я думал что можно дефолтные значения поставить
rmshell
Ну
Kana
тут прост написали про синтаксис
Kana
https://github.com/docker/docker.github.io/issues/6914