Юрий
Но если подключить в каталог volume то все что в нем было станет не доступно.
Юрий
у меня код уже в контейнере app, его надо расширить в другие контейнеры.
Anonymous
может кто-то знает - есть ли возможность делать снапшоты docker volume или бекапить диск на ходу ?
Konstantin
может кто-то знает - есть ли возможность делать снапшоты docker volume или бекапить диск на ходу ?
от драйвера зависит, если local - то бекапить как обычные файлы\папки на хосте
Anonymous
от драйвера зависит, если local - то бекапить как обычные файлы\папки на хосте
local, да а без lvm-драйвера что еще есть ? Хотя, погуглю еще.
Dima
привет привет =) вопрос для любителей npm что делать с node_modules? пока что вижу такой порядок действий для удобной разработки - делать npm install при билде образа - монтировать node_modules из контейнера в хост - ставить пакеты из контейнера через exec - обновляется package.json (учитывая что тоже смонтирован), потом при ребилде образа все что нужно поставится
🏁Александр
https://docs.docker.com/compose/startup-order/
🏁Александр
а что за идиотизм?
🏁Александр
если ошибка подключения я должен в приложении "крутить" бесконечный цикл?
🏁Александр
в надежде подключиться позднее
bebebe
👍
Konstantin
а что за идиотизм?
приложение должно висеть мёртвым?
🏁Александр
ну вообще приложение типо поднимается на всем готовом
🏁Александр
если что-то не то - падаем и сразу аларм
🏁Александр
"блэт! мы сломались"
🏁Александр
и тонкая грань между "накосячили с конфигурации бд" и "контейнер еще поднимается" стирается
🏁Александр
ибо тогда в любом случаи "ошибка сокета"
Konstantin
в контейнерах оно должно падать всегда, на любую панику
🏁Александр
так вот исходя из текста выше - не должно
🏁Александр
ибо когда мы уже поднимаемся бд еще может "готовиться"
🏁Александр
To handle this, design your application to attempt to re-establish a connection to the database after a failure. If the application retries the connection, it can eventually connect to the database. The best solution is to perform this check in your application code, both at startup and whenever a connection is lost for any reason.
Konstantin
я не пойму истерики(
🏁Александр
ну представь что на ноде косякнули и ошиблись в конфигурации аппки
🏁Александр
и теперь оно едет не туда где дб хост
🏁Александр
что делает аппка? правильно ведет себя "как обычно", никакой паники, никаких выходов по os.Exit 2 коду
🏁Александр
только если по HTTP ломиться за статусом
🏁Александр
оно вроде поднято, но не работает
🏁Александр
хуже нет состояния на проде, лучше бы оно лежало
Konstantin
я не пойму истерики(
повторюсь, сорри
🏁Александр
ну нода "тихо легла" это же катастрофа
🏁Александр
значит клиенты сразу начнут получать "отказ в обслуживании"
Dmitry
https://www.theregister.co.uk/2018/09/26/aeroflot_server_code_open/
Konstantin
https://www.theregister.co.uk/2018/09/26/aeroflot_server_code_open/
Баян же, на гитхабе давно
Dmitry
Так и знал что баян
Konstantin
Там написано про конфиг файлы, они конфиги в образах хранят?😳
Konstantin
Я не читал
invariance
Ребят, а можно как то вызвать из контейнера локалхост?
Anonymous
Можно
invariance
👍
Sergey
ὦan
покурил немного форумы, но так и не понял, можно ли остановленный контейнер запустить с другой командой. Dockerfile заканчивается на CMD ["make", "tables"] и контейнер выполняет свою работу - останавливается. Чтобы хотелось, так это запустить его же, только с другой командой, а именно make download-haskell. Возможен ли такой финт?
ὦan
для чего он должен быть запущен? почему не выполнять "одноразово" нужный таргет? docker run —rm myimage make dowload-haskell ?
суть в том, что программа в виде jar джавы должна по крону определенное время выкачивать файлы и потом их индексировать
ὦan
что пришло так это выкачивать файлы из контейнера в общую папку
ὦan
чтобы все контейнеры имели к ней доступ
ὦan
для чего он должен быть запущен? почему не выполнять "одноразово" нужный таргет? docker run —rm myimage make dowload-haskell ?
если его выполнять одноразово - то это не взлетит, потому что в одном контейнере скачаю, а в другом индексировать)
Evgeniy
господа, вроде с докером начало получатся, но есть вопрос, допустим докер контейнер собрался, конфиги подтянулись, но для БД например надо в крон пропихнуть задачи, приходится лезть в контейнер
Konstantin
грубо говоря - ещё один контейнер с кроном нужно
Evgeniy
эм
Evgeniy
не для приложения в целом
Evgeniy
только для БД, и там сильная зависимость от наличия этой бд прям вот здесь под рукой
Evgeniy
например переодически снимать дамп
Evgeniy
pgdump
Sergey
а подскажите свой код монтировать в докер это норм практика ? типа если я не собираюсь его куда то в регистри расшаривать, а чисто на сервере чтобы крутилось а то если надо изменения сделать билдить каждый раз утомительно а тут рестарта думаю хватит
Je
Не норм, локально ты можешь и без докера, а в dev и prod ты должен настроить ci/cd, чтобы утомительно не было
Je
Сервак, который ты можешь перезапускать с подмаунченным кодом - звучит как домашний проект, про который никто не должен знать
Anonymous
господа, а кто drone-ssh практикует - у вас docker-compose build не таймаутит ? Может есть идеи дебага этого добра ? Для тех, кто не практикует - drone-ssh - достаточно тупой тул - идёт по ssh на хост и выполняет там команды по списку. на docker-compose build часто возникают таймауты. Если вручную на хосте команды выполнять - всё проходит быстро и без проблем. https://github.com/appleboy/drone-ssh/issues/125
Артем
Добрый день. Как работает COPY в DOCKERFILE? Добрый день. У меня есть проект dockerker фаил находится в папке проекта env. Как скопировать фаил в с корня проекта в этот каталог. Вот как команда написана COPY ~/.env.dist /env/ Вот ошибка: Service 'app' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder456578354/~/.env.dist: no such file or directory. Почему он ищет его там? и какая команда должна быть чтобы он брал фаил с корня проекта
Konstantin
ты не можешь копировать с хоста с любого места, только с указаной директории, по умолчанию текущая
Артем
Спасибо, за подсказку
Anonymous
настраивал кто gitlab container registry за nginx proxy с lets encrypt и упакованное в docker-compose?
Konstantin
настраивал кто gitlab container registry за nginx proxy с lets encrypt и упакованное в docker-compose?
я думаю это уникальный случай и нужно собрать консилиум. Давай сразу вопрос, зачем вопрос для вопроса?
Anonymous
я не против консилиума
Setox
Консилиум тонко намекает чтобы ты написал сразу что тебе непонятно
Dmitrijs
Принято ли на проде (напр. На digitalocean) устанавливать docker проект со скриптами бэкапов, авторизации git пользователя, автообновления ветки и тд для прода? Или есть более правильный путь?
Dmitrijs
И какой же правильный путь, не делать бэкапы на проде?)
То есть создавать юзера, добавлять git ключи к репозиторию, клонировать вручную, а поднимать контейнеры со скриптами бэкапов уже автоматически в докере это нормальная практика?
Serhii
Кстати насчет ключей и паролей, кто как рулит секреты? На данный момент, у меня пароли записаны в энвайронмент файл, каждый контейнер берет необходимую ей переменную
Setox
Можно в гитлабе
Setox
А по уму есть то hashicorp
Konstantin
Ты хотел сказать vault