Савада
Я понял это уже понял, но если вместе с проектом запускать то такая ошибка
Dmitriy
Я понял это уже понял, но если вместе с проектом запускать то такая ошибка
А тут у тебя приложение пытается подключиться к постгресу на локалхосте и не может этого сделать
Evgeniy
потому что приложение запускается быстрей чем база база для запуска требует несколько секунд обычно параметры вроде depends в docker-compose не помогут надо смотреть wait fot it и подобные штуки об этом есть в офицальной документации
Елнур
Docker postgres healthcheck pg_isready
Запрос для гугла
Evgeniy
Docker postgres healthcheck pg_isready
doctrine в python скриптах
Елнур
doctrine в python скриптах
Ну и что) надеюсь постгре не в питон скриптах
Evgeniy
гораздо проще и правильней wait fot it и альтернативы
Evgeniy
хотя нет перепутал doctrine с этим вариант с heltcheck и condition тоже не плохой я по старинке более костыльно опрашиваю с нужного контейнера
Елнур
гораздо проще и правильней wait fot it и альтернативы
Это если настроить со стороны питон контейнера. И это не намного проще. Если бд будет использоваться в нескольких других контейнерах, то каждый контейнер будет ждать бд. А в случае с depends_on + healthcheck, то сперва запустится бд, как только будет healthy, запустятся другие контейнеры
Evgeniy
только его вернули в v3.9+ а я последний раз спеку смотрел версии 3.7
Ilya
покажи докер компоуз
Shukhrat
процесс по сборки образа завершился (либо еще продолжается) мне непонятным образом, что за сообщение у меня на экране и что оно означает ?
Егор
Подскажите пожалуйста, пытаюсь установить docker-compose на mac M1. Устанавливаю, ввожу: docker-compose —help Error: line 1: Not: command not found
Devidson
docker-compose уже не поддерживается, вводи docker compose -v
Aleksey
Ага
/dev/null
Ребята всем доброй ночи
Evgeny
Доброе! Подскажите , не сталкивался ли кто с проблемой: vps с ubuntu 22.04, ставлю cadvisor по доке , v36. В prometheus статус ок. Но в grafana метрики containers_…. Пустые
Evgeny
сам и отвечу, надо было брать latest (и хз какя там версия VERSION нет)
dt
Всем привет! Подскажите, пожалуйста, что я здесь делаю не так?
dt
переводы строк не те
а как будет правильно?
а как будет правильно?
как я понимаю, у вас \r\n, попробуйте поменять на \n просто
Скорее всего, в редакторе где-то можно поменять CRLF на LF. Можно погуглить по ключевым словам docker windows crlf
[SPb] minicooper E13 kittyspark M33
По расцветке это VSCode, там прямо внизу есть переключатель.
dt
Спасибо за ответы! в итоге всё запустилось из git bash))
Ed 😴
Здравствуйте, пытаюсь запустить selenium/standalone-chrome с volume, но мне отказывает в создание файла в логах mkdir: cannot create directory ‘/home/seluser/.local’: Permission denied touch: cannot touch '/home/seluser/.local/share/applications/mimeapps.list': No such file or directory. Как мне получить скачанный файл с контейнера? Надеюсь задаю не глупый вопрос
Mars
Как Вы запускаете контейнер?
Ed 😴
Как Вы запускаете контейнер?
docker run -d -p 4444:4444 -p 7900:7900 -v $PATH:/home/seluser/Downloads --shm-size="2g" selenium/standalone-chrome:latest
Vitaly
uid:gui
Vitaly
Ну или как плохая практика, временно поставьте 777 на папку, но это так себе с точки зрения секюрити
Ed 😴
Набо чтобы овнер в контейнере и на системе был один
что за овнер? глобальная переменная?
Vitaly
что за овнер? глобальная переменная?
Владелец файла в unix системе
Maxim
Ну или как плохая практика, временно поставьте 777 на папку, но это так себе с точки зрения секюрити
А 755 права не лучше? Чуть секюрнее, хотя тоже не айс, но запуститься должно. Возможно там были права 555... Стоит попробовать.
Vitaly
755 если uid разные не будет записи
Ed 😴
Здравствуйте, возможно ли запустить контейнер с пробросом портов(для novnc), а потом для сохранения образа контейнера выключить или убрать проброс портов, чтобы сохранить образ от которого можно будет запускать контейнеры с разными портами?
Aleksey
Docker push в свой репозиторий
dt
Всем привет! Есть такая ситуация: провожу тесты в докер-контейнере с помощью pytest. Как мне можно получить переменную с результатами тестов из контейнера? Нужно именно присвоить значение переменной окружения вне контейнера, простой вывод на экран не нужен
Andrew
также как и без контейнера
Andrew
или ты хочешь поменять значение переменной хоста, на котором контейнер?
dt
или ты хочешь поменять значение переменной хоста, на котором контейнер?
более подробно: -в докере запускаются тесты -результат тестов присваивается переменной -эта переменная в файловой системе контейнера -как присвоить её значение переменной окружения вне контейнера?
Andrew
а зачем?
dt
а зачем?
чтобы в дженкинсе пайплайн останавливался, если тесты не пройдены
dt
условно говоря, при коммите и мёрдже проводятся тесты, и если что-то не работает - не давало закоммитить
dt
*запушить
Max xbim 🌴
тесты возвращают exitCode если код не 0 то обычно pipeline не успешный
Andrew
сдается мне есть более простые способы
dt
тесты возвращают exitCode если код не 0 то обычно pipeline не успешный
Мне как раз надо этот exitCode получить из контейнера
dt
сдается мне есть более простые способы
из того, что я гуглил по теме pytest docker jenkins предлагают или решения для гораздо более простых проектов, или что-то иное в плане архетиктуры
Max xbim 🌴
set -e в *.sh скрипт надо добавить,а скрипт часть c if можно удалить
dt
set -e в *.sh скрипт надо добавить,а скрипт часть c if можно удалить
так не получается, потому что даже при неуспешных тестах, exit code самого докер контейнера будет 0
Max xbim 🌴
значит что то не так в скрипте
dt
значит что то не так в скрипте
надо, наверное, рассказать мне, как у меня всё устроено))): -запускается .sh файл, в котором команды на сборку и запуск контейнера -в докерфайле энтрипоинтом указан другой .sh файл, где уже указана команда на запуск тестов -в этом энтрипоинт-sh-файле можно получить результат тестов через $?
Max xbim 🌴
как только один из shell скриптов падает с ошибкой он должен и заканчиваться с этой ошибкой, для этого и используется set -e
Max xbim 🌴
и упроситить можно имея готовый image на регистри и запускать тесты через docker run
dt
как только один из shell скриптов падает с ошибкой он должен и заканчиваться с этой ошибкой, для этого и используется set -e
Это я понял. Только дело в том, что тесты могут упасть с ошибкой, могут быть успешными и неуспешными - а случай неуспешности тестов, это ведь не падение с ошибкой)
Max xbim 🌴
Pytest has exit codes, with a particular meaning: Exit code 0: All tests were collected and passed successfully Exit code 1: Tests were collected and run but some of the tests failed Exit code 2: Test execution was interrupted by the user Exit code 3: Internal error happened while executing tests Exit code 4: pytest command line usage error Exit code 5: No tests were collected
Evgeniy
А вы в докере тесты запускаете как часть Билда?
dt
А вы в докере тесты запускаете как часть Билда?
нет, тесты запускаются уже после билда, в самом контейнере
Evgeniy
В этом и проблема
dt
я монтирую вольюмами нужные файлы
Evgeniy
Сделайте это частью билда
Evgeniy
Например через multistage build
Evgeniy
Вместо монтирования копируйте
Evgeniy
И будет счастье