Anonymous
Ребята, как запустить контейнер с sh/bash в фоне, не меняя исходного образа?
k
Доброе. Вопрос кто нить разбирался с вопросом докер + крон. Засейвить базу раз в сутки (раз в сутки). Сейчас висит на кроне задача. Вроде простая задача.
Anonymous
docker exec <id> bash/sh
Мне его нужно держать запущенным, перезаписав команду на что то другое что будет как заглушка, что бы можно было быстро выполнять на нем команды через exec
k
это если для тестов
setevoy
@kneitro А в чём собственно вопрос? Базы лежат на диске хоста, подключаем через volume. Задампить по крону? С хоста крон, и docker exec -ti containername mysqldump, сохраняем на диск хоста опять же.
k
У меня кроны на хосте лучше ничего не придумал
Да я как раз про это и читаю. Да нужно через хостовую машину
Mark
Всем привет. Нужна помощь. Мой кейс: 1. docker-compose 2. в конфиге описаны контейнер для джанго + контейнер для постгрес 3. База вынесена в вольюм ./docker/data/..... 4. Запускаю от обычного юзера 5. овнер вольюма стоит root:root вместо user:user 6. Гуглил, узнал про директиву user: ${...} 7. Прописал в конфиге user: ${CURRENT_UID} 8. Запустил так $ CURRENT_UID=$(id -u):$(id -g) docker-compose up 9. Получил в консоли No user exists for uid 1000 10. И вольюм все равно с рутовым овнером создался. Как сделать так чтобы вольюмы создавались от имени текущего юзера а не от рута?
Mark
Может быть мне нужно каким-то образом сделать в контейнере рутового юзера и группу с именами user вместо root?
Kirill
Ребят, такой вопрос, Docker на винде юзает под капотом Hyper-V машину для линуксовских контейнеров, так вот, эти контейнеры получается в этой махине и остаются? Т.е. если удалить эту машину, все image/volume'ы с ней же удалятся соот-но?
Alexey
но в гитлабе есть шедулер, например
Alexey
мне нравится
Grigorii
Кто-нибудь юзает докер для дева? Как у вас это организованно? Я вижу это так: приходит новый разраб в команду, я даю ему docker-compose.yml, говорю прописать всякие креды и прочие переменные в файле dev.env, залогиниться в нашем регистри(у нас gitlab docker registry), и запустить контейнер - docker-compose up -d. Катит вариант?
Владислав
так и происходит
Владислав
возможно, ещё некоторые команды в контейнере для сборки приложения
Владислав
например, npm i
Sergey
а потом можно кубер давать
Sergey
стейдж кластер
Grigorii
найс тогда)
Sergey
найс тогда)
если ты разрабатываешь в докере, то да, если нет, то пили в вагранте дев-стенд локальный и пуш в репу его
Grigorii
если ты разрабатываешь в докере, то да, если нет, то пили в вагранте дев-стенд локальный и пуш в репу его
нет пока докера на проде, но есть интерес пересесть на него, как я понимаю. пока с дев и тест среды начали
Sergey
аля кубер-вагрант для локального
Semen
Всем привет. Поскажите пожалуйста, добавление СУБД в контейнер это best practies?
Андрей
Всем привет. Поскажите пожалуйста, добавление СУБД в контейнер это best practies?
зависит от задачи, но обычно удобно если в одной бд что-то пойдёт не так, просто поднять ещё один контейнер и переключиться
Sergey
Всем привет. Поскажите пожалуйста, добавление СУБД в контейнер это best practies?
если хотите кластера с большой базой, то отдельные виртуалки
Semen
Андрей только для этого или еще какие-то ньюансы есть?))
k
если кроны приложения, можно делать отдельным контейнером с command cron -f
Ну логичнее от внешнего крона плясать, как подсказали чуть ранее
Kirill
не всегда удобно
Kirill
если дев сервер с кучей контейнеров, удобней рулить через отдельные контейнеры
Mishalov
Доброе. у меня в docker-compose.yml настроен контейнер mysql: mysqldb: image: mysql:5.7.22 container_name: mysql restart: always environment: - MYSQL_DATABASE=pack - MYSQL_ROOT_PASSWORD=root - MYSQL_USER=dev - MYSQL_PASSWORD=dev ports: - "8989:3306" volumes: - "./data/db/mysql:/var/lib/mysql" при запуске и работе никаких проблем, при перезапуске docker база данных пустая. С чем может быть связано?
V 🏴‍☠️
ro на volume?
Oleg
Доброе. Вопрос кто нить разбирался с вопросом докер + крон. Засейвить базу раз в сутки (раз в сутки). Сейчас висит на кроне задача. Вроде простая задача.
только не смейтесь плиз )) cron: image: alpine container_name: mtproxy_cron restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock entrypoint: | sh -c 'sh -s <<EOF apk add --no-cache curl while true; do sleep 1d curl http://localhost/containers/mtproxy_server/restart \ -XPOST \ --unix-socket /var/run/docker.sock done EOF' depends_on: - server перезапуск контейнера раз в день другим контейнером другие подобные действия можно по аналогии дергая напрямки апи докера раз в сколько-то там (`/exec...`)
Mishalov
ro на volume?
всмысле?
V 🏴‍☠️
всмысле?
В смысле проверь на запись volume, может он не пишет туда ничего
Mishalov
ну то что на локалке директория заполняется по мере работы
Андрей
Андрей только для этого или еще какие-то ньюансы есть?))
например? если у вас много клиентов одной бд, и они крутятся в разных контейнерах, то проще прилинковать отдельно бд, а не тащит за собой всё лишнее.
Oleg
как та малость заморочено
мб. зато прямо задекларировано в композе.
k
мб. зато прямо задекларировано в композе.
Ну прям из крона закинуть можно, как самый простой и явный способ
Anonymous
/exec
Kirill
Всем привет. Поскажите пожалуйста, добавление СУБД в контейнер это best practies?
Если не шибко большой проект, то вполне хороший вариант. Если боитесь за данные, можно бэкапить куда-нибудь)
Сергей
подскажите как в ранчер 2 прикрепить домен к приложению? вроде написал домен свой а не xip но домен открывает ранчер а не приложение, видел что надо cname написать, типа на xip.io но чето не выходит
Сергей
неужели ни кто не делал?)
Oleg
Всем привет. Поскажите пожалуйста, добавление СУБД в контейнер это best practies?
не очень. ну если только реально проект простой как палка, где ничего никогда не крашится и не падает. или, как вариант, вы планируете распространять свой софт, как полностью сконфигурированный "черный ящик" — контейнер-все-в-одном (так гитлаб делает)
Boris
Подскажите. Пробую редактировать /etc/hosts энтрипоинтом докера. Получаю ошибку sed: cannot rename /etc/sedQdsFch: Device or resource busy
Boris
Я думаю это вообще довольно распостраненный кейс контейнеров - раскатать свои хосты в hosts, как это решается?
twwlf
Есть специальный флаг, читайте документацию, блин
twwlf
Там много интересного
Boris
Мне не подходит этот вариант, не делайте поспешных выводов
Boris
При запуске стека контейнеров hosts наполняется адресами контейнеров из нетворка, и я бы не хотел там хардкодить, а всеголишь добавить алиас для одного из контейнеров
twwlf
зачем?
twwlf
давно hosts в докере наполняется?
Boris
Как минимум при инициализации нетворка компоузером - да. К чему вообще ваши вопросы? Вы пытаетесь самоутвердиться?
Boris
У вас волк на аватарке, куда уже дальше
ilya
extra_hosts в компоузе посмотрите
twwlf
ну, если тебе помощь не нужна
twwlf
я просто хотел тебе подсказать, что по-дефолту в compose 1) не прописываются имена сервисов в hosts
twwlf
2) сервисы по своим именам доступны во внутреннем днс
Boris
Django требует rfc 1034/1035, и обращение к http сокету будет невозможно
Boris
Я же говорю, вы делаете выводы поспешно
twwlf
увы, у меня дефицит фактов
Yuriy
Добрый вечер, возможно обсуждалось. Docker на Win 10 не монтирует Volumes. Было у кого?
Влад
Добрый вечер ребят, подскажите пожалуйста как прокинуть демона докера /var/run/docker.sock только на винде и через docker-compose