Evghenii
.env - это чисто компоузовая тема, он эти переменные использует для подстановки
не совсем так, это просто распространенный формат хранения переменных окружения, но почему он по дефолту устанавливал из .env файла - я разобрался, это была завязка в коде приложения но так и не получается прокинуть переменные из файла, который указывается в env_file, в окружение внутри контейнера
Evghenii
незнаю, не отрабатывает почему-то
George
ну, у всех работает
George
может у тебя env_file не в том формате?
George
KEY=VALUE насколькоя помню
Evghenii
может у тебя env_file не в том формате?
гадство, тут ты прав, он не жрет строки, если есть пробелы до и после знака равно
Evghenii
спасибо за наводку
Vladimir
подскажите плз, можно ли как-то настроить logroration для контейнеров на базе json-logs драйвера? точнее не как-то, а чтобы за три дня логи хранились, не больше
Vladimir
max_file есть, max_size а max_days нет...
George
journald ?
Stanislav
день добрый пытаюсь заново собрать docker-compose -f *.yml up --build 3 контейнера стартую а 4 пишет что уже есть, и как быть? ERROR: for *_database_1 Cannot start service database: endpoint with name *_database_1 already exists in network *_default
Terry
endpoint with name *_database_1 already exists in network *_default
Stanislav
просто до этого несколько раз выполнял на одной машине и все было норм, а тут
Stanislav
т.е. если не запущен все равно будет писать что контейннер есть:
Виктор
docker ps -a
Виктор
Если контейнер тс таким именем есть, а он есть, то docker rm -f
Stanislav
Если контейнер тс таким именем есть, а он есть, то docker rm -f
так и сделал но почему то не помогло, но помог перезапуск sudo service docker restart
Stanislav
спасибо
Виктор
А почему через sudo?
Stanislav
у пользователя нет прав на рестар сервисов
Terry
Если контейнер тс таким именем есть, а он есть, то docker rm -f
docker images -a docker rmi -f вот так по Одменски должно помочь, ток лишнего не убей
Terry
у пользователя нет прав на рестар сервисов
sudo usermod -aG sudo username debian-like sudo usermod -aG wheel username - centos/redhat
Stanislav
А почему через sudo?
к стати почему то на другой машине запуск через судо, хотя в группу добавил
Terry
нужно перезайти на сервак или машину, что бы права применились, сессия старая жи со старыми правами
Stanislav
а у про это забыл, машину по неделям не перезапсукаю)))
Terry
а у про это забыл, машину по неделям не перезапсукаю)))
бля, да не машину, а сессия входа юзера на сервак/машину, можно логаут сделать и войти снова
Виктор
а у про это забыл, машину по неделям не перезапсукаю)))
Не надо перезапускать logout достаточно. Вообще есть команда на пересчет прав, но не помню, с телефона сейчас. Что-то типа newgroup
Terry
Horribly hacky, but you could use two layers of newgrp to achieve this for a particular group: id -g ...will give you the current primary group ID. We'll call this orig_group for the purposes of this example. Then: newgrp <new group name> ...will switch you to that group as the primary and add it to the list of groups returned by groups or id -G. Now, a further: newgrp <orig_group> ...will get you a shell in which you can see the new group and the primary is the original one.
🅂🄴🅁🄶🄴🅈 🐍
Привет. Подскажите как "стандартно" решается ситуация с дублированием портов у докер контейнеров и работающих на хосте одноименных приложений ?
🅂🄴🅁🄶🄴🅈 🐍
Postgresql, MySql ....
Stanislav
Привет. Подскажите как "стандартно" решается ситуация с дублированием портов у докер контейнеров и работающих на хосте одноименных приложений ?
оу у меня тоже сегодня было, на локальной убил процес, а вообще наврное в докер файле меняешь порт. ща поглядим что спеццы скажут
🅂🄴🅁🄶🄴🅈 🐍
я бы убивал тоже, но как это автоматом делать? а еще один скрипт до up это наверно не бест практикс
🅂🄴🅁🄶🄴🅈 🐍
наоборот. чтобы не было такой ситуации.
🅂🄴🅁🄶🄴🅈 🐍
чтобы ручками не останавливать системные службы перед docker-compose up наверняка есть стандартный ход
Виктор
наоборот. чтобы не было такой ситуации.
docker run -p 8080:8080, например подходит?
🅂🄴🅁🄶🄴🅈 🐍
нет
🅂🄴🅁🄶🄴🅈 🐍
у меня 6 сервисов, это 2 постгресса мускул сервер синапса, у всех у них есть свои порты
🅂🄴🅁🄶🄴🅈 🐍
чтобы не было конфликтов на старте мне нужно на хосте освободить порты
🅂🄴🅁🄶🄴🅈 🐍
т.е. чтобы до up команды выполнялось вот такое
🅂🄴🅁🄶🄴🅈 🐍
sudo service postgresql stop && /etc/init.d/redis-server stop && sudo /etc/init.d/mysql stop
Terry
ты чет не понятное хочешь
Terry
почитай доку, как copmose вызывает shutdown у контейнера + загляни в код докера
🅂🄴🅁🄶🄴🅈 🐍
Terry
ну а потом скостыляй + 100500й костыль поверх compose
George
лечится действительно перезапуском демона
Виктор
😱 о ужас
Это реально очень странно, на хосте держать другие службы
George
нет такой системы. Предполагается, что ты сам в состоянии менеджить пары ip:порты
🅂🄴🅁🄶🄴🅈 🐍
почему странно...
George
потому
🅂🄴🅁🄶🄴🅈 🐍
Это реально очень странно, на хосте держать другие службы
разработка начиналась не под докер, соотв. все это жило локально, сейчас как раз момент докеризации проекта, вот и смотрю "по ситуации"
George
потому что многие службы предполают, что у них эксклюзивный доступ ко всем ресурсам хоста
George
это можно поправить - сделать лимиты всему. Но больно уж много мороки. Плюс вопрос скейлинга
George
зачастую лучше, когда у тебя одна виртуалка == одна роль
🅂🄴🅁🄶🄴🅈 🐍
да. понятно что когда все взлетит с моим композом, я скорее всего снесу локальный зоопарк
George
компоуз не оркестрация
George
ты следующим этапом наверняка захочешь второй сервер, третий .... и жонглировать контейнерами между ними
🅂🄴🅁🄶🄴🅈 🐍
не очень тебя понял
🅂🄴🅁🄶🄴🅈 🐍
мне щас нужно только dev окружение сделать, других целей нет
Виктор
Roman
Как лучше вести логирование приложения в контейнере - писать в файл, который смонтирован на хост, писать во внешнюю систему типа elastic, еще как-то?
Makasimka
писать в stdout. Из него докер сам покажет логи. Дальшге можно например в Loki/Grafana их загнать
Виктор
Как лучше вести логирование приложения в контейнере - писать в файл, который смонтирован на хост, писать во внешнюю систему типа elastic, еще как-то?
Пишешь логи в директорию контейнера, эту директорию соединяешь с директорией хоста (вольюмом), из директории хоста забирает чем тебе удобно. Например, sidecar graylog
Виктор
Можешь перехватывать логи сислогом и отправлять в сислог. Вариантов много
Anton
а подскажите как прокинуть с хостовой хост в контейнер?
Anton
или dns поднимать как-то в докер?
Anton
все, разобрался extra_hosts: - "somehost:162.242.195.82" - "otherhost:50.31.209.229"
Anton
как почистить таблицу mysql (innoDB) в докер так, чтоб прям реально очистить? (truncate)
Anton
и очищаю и оптимайз и перезагрузил сервисы - все равно пустая таблица весит 2.3МБ
Andrey
как почистить таблицу mysql (innoDB) в докер так, чтоб прям реально очистить? (truncate)
ты думаешь, что mysql в докер как-то по особенному работает, использует другие алгоритмы хранения? Вопросы по mysql здесь неуместны.