Andrey
если серьезно, то на этот вопрос есть только один правильный ответ: контейнеру не нужно знать адрес хостовой машины
Semyon
Ребят, хочу забилдить проджект с помощью docker-compose. Там 2 докерфайла, но сервисы берут только один из них, может кто сталкивался с такой проблемой?
Semyon
Сервисы systemd?
В каком плане?
Semyon
Линукс
NM
Линукс
Это не ответ - что за ОС бубунта или RHEL там разные SystemD реализация
NM
ну так FROM-FROM ? что мешает даже без компоста сделать ?
Ryskin Artem
Господа, посоветуйте чат сисадминов плз. Есть вопросы по настройке БД
NM
А здесь не сисадмины разве ? :-)
Andrey
говори за себя
Andrey
Dan
Все чаты тут
George
George
Ну, ребята правильно говорят - передать через переменную
George
А это доменное имя доступно только на маках и винде
George
Но тебе никто не мешает сделать его руками на линуксе ))
Ryskin Artem
Все чаты тут
Благодарю
Andrey
Всем привет. Необходимо получить "ip" - хоста, находясь внутри докер контейнера. Есть идеи?
Тебе уже ответили - передавать через переменные окружения. Предварительно, например, получать его так : ifconfig eth0 | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p' | sed -e 's/^/IPHOST=/' > dock.env
Andrey
и дальше типа того: docker run --name agent --net=host --env-file=dock.env и что там...
Andrey
внутри в коде читать этот файл (ну мне так надо было)
Andrey
убрав IPHOST и команды ifconfig eth0 | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p' | sed -e 's/^//' будет только ip-address
Andrey
это для Ubuntu
Andrey
второй способ в коде или через curl - получать свой "внешний" ip-address например от сервиса типа: ifconfig.co
Andrey
на ресурсе расписано как делать
Andrey
Господа, посоветуйте плз NoSQL базу данных для документов (типо монги) с inMemory engine, и сохранением данных на диск
тебе посоветовали cassandra - кассандра очень требовательна к ресурсам, раскрывается ее потенциал на кластере от нескольких машин - старт с ней - не столь сложный. для простых задач - монга
Ryskin Artem
тебе посоветовали cassandra - кассандра очень требовательна к ресурсам, раскрывается ее потенциал на кластере от нескольких машин - старт с ней - не столь сложный. для простых задач - монга
В монге in memory только в энерпрайз, насколько я понял. Да и персиста нет :( А Кассандра - да, очень много жрет. Я погуглил, и нагуглил ещё тарантула
George
Та же Кассандра, переписанная на с++
Ryskin Artem
Тарантул норм, но кластер только за деньги
Тут нет необходимости в кластере :)
Ryskin Artem
Можно сциллу ещё
Гляну, благодарю :)
Vladimir
Можно ли в докере уменьшить размер папки overlay какими нибудь махинациями с контейнером? Например, слиянием слоев или что-то вроде этого, т.е. без очистки самих данных?
Vladimir
Конкретно: контейнер дженкинса, развернул, установил плагины, настроил... Хотелось немного сжать, если это вообще возможно.
George
оверлей сбросится
Vladimir
Хммм... Интересно. При этом все данные в волуме корректно останутся и я ничего не потеряю. Верно?
George
профит
Anton
а в .env файле нельзя использовать переменные? Например UID=${UID}
George
в .env - нет
Anton
а может .env закэшиться?
George
нет
George
точнее не так
Anton
UID=1000 GID=1000 MYSQL_USER=root MYSQL_ROOT_PASSWORD=password запускаю сервисы docker-compose up -d, а к мускулу по старому паролю подключаюсь. Пытаюсь ввести пароль password - не подходит, хотя переменные UID и GID прошли
George
у тебя компоуз не следит за ним
Anton
все, норм, нельзя было называть переменные так же как и в самом докер-компоуз
Anton
было бы хорошо, если бы из .env файла можно было бы прочитать в bash скрипте
Anton
ну пишу скрипт, который склонирует репозиторий, composer зависимости, миграцию проведет и т.д., вот чтоб не писать в самом скрипте пути и логин/пароль к мускулу - импортировать эти данные из .env
George
он в докере запускается или снаружи ?
George
из .env легко импортировать в баш скрипте. Как там... source вроде достаточно сделать
Anton
снаружи
George
или циклом
Anton
но может быть конфликт, т.к. в .env файле указаны руками UID,GID и вдруг не совпадут с реальными UID/GID пользователя
Anton
а может вообще тогда в начале скрипта локальные переменные и в них выцепить из .env файла нужные переменные, вот только чем... пока на ум приходит sed
George
ты можешь скрипт выполнять в докере )
Anton
или cat ./.env | grep ...
George
чтоб в изолированной среде )
George
или cat ./.env | grep ...
ну, типа того, но ты изобретаешь какую-то убер пушку
George
сложно потом будет поддерживать )
Anton
та это на раз для тестового задания
George
варианты - подумай об ансибле или мейкфайле
Anton
точно, мейкфайл, слышал. но не работал... аж страшно...
Anton
а только у меня не работает tab после docker-compose? Предлагает файлы и папки, а не команды docker-compose
Anton
что на работе, что дома
Anton
всё, нашел в доке
Anton
не надо ставить компоуз через стандартный apt install
Александр
Использовать пакетные менеджеры в пакетных дистрибутивах - для слабаков
Александр
Утречка