Anonymous
А с ; вторая команда выполняется при любом условии
Dmitry
Экзамен на баш?)
Anonymous
entrypoint bash прописывать обязательно?
Anonymous
entrypoint bash прописывать обязательно?
Dmitry
Почему нечто? Я предложил то, что на мой взгляд является правильнее; если вы со мной не согласны, пожалуйста аргументируйте
Anonymous
Valerii
Yury
а почему бы приложение не изменить на работу из ENV напрямую? Тогда скрипт не нужен.
Alexander
лучше использовать secret-файлы)
Alexander
чтобы в процессах всё это не висело
Alexander
образ с postgres, например, так умеет
Anonymous
А нельзя в command(docker-compose) указать несколько команд?
Алексей
Anonymous
Bash -c в command указывать обязательно?
Anonymous
Или command[]
Anonymous
?
Anonymous
можно еще entrypoint скрипт сделать
Юрий
Всем привет! Подскажите пожалуйста решение для следующей проблемы. Имеется клакстер OpenShift и отдельно стоящая машинка с docker. Везде CentOS 7.4 и docker 1.12.6. На всех установках наблюдается следующее: в логи попадают как-будто не все записи, как-будто какая-то буферизация работает. Т.е. последние n строк (или даже часть записи) могут отсутствовать в выводе. При этом если запускается java-приложение и log4j настроен одновременно на вывод в консоль и запись в файл - в файле присутсвуют все записи
Vlad
Купить поддержку от RedHat или использовать docker-ce
inqfen
inqfen
Я с такой хрень встречался когда быстрый прирост и действительно проблема была в буфере
Юрий
Медленно. Например приложение стартует и тупо висит, ожидая событий. При этом часть лога старта не отображается
Юрий
Нашёл вот пару тикетов, похожих на возможный вариант
https://github.com/moby/moby/issues/17398
https://github.com/moby/moby/issues/16725
inqfen
Попробуй действительно на docker-ce один хост обновить
inqfen
1.12 достаточно багованная вещь
Юрий
К сожалению этот вариант для целевого решения не прокатит :(
Anonymous
Denis
Anonymous
Anonymous
Мне нужно чтобы каждый экземпляр сервиса цеплялся в свою уникальную папку
Тигран
Anonymous
Блин,похоже я плохо объясняю. "Уникальный"- это значит для каждого экземпляра свой. И это не каждый докер руками, где можно прописать при запуске параметр каждого контейнера- это swarm.
Denis
Anonymous
Да. В том то и беда.
Denis
Как я понял, такой вопрос можно решить наследованием в docker-compose файле. К примеру создать базовый сервис и от него наследовать с нужными настройками https://docs.docker.com/compose/extends/#extending-services
Я сам не пробовал но должно помочь
Тигран
Да. В том то и беда.
судя по https://github.com/docker/compose/issues/449, это было реализовано
Тигран
попробуй передавать переменную окружения
Тигран
что то типа
Anonymous
Тигран
volumes:
- ${WORKSPACES_HOME}/logs:/webapp/myapp/logs/
Denis
Denis
Кстати я думал о переменных средах, наверное должно помочь тоже)
Anonymous
volumes:
- ${WORKSPACES_HOME}/logs:/webapp/myapp/logs/
если я передам некую определенную переменную, то все реплики будут монтироваться в одно место. Мне бы привязаться к id или имени новой реплики - тут будет уникально. Вообще тупо стоит задача хранить логи сервиса, запущенного в контейнерах для последующего разбора ошибок. Может я костылю и есть что-то готовое?
Pavel
Господа, всем дня доброго
АЛАРМ!
Pavel
Есть сворм, всего машин 4
Pavel
из них манагеры 3
Pavel
Стартую сервисы - не видят друг друга по ДНС
Pavel
кто-нибудь сталкивался?
Pavel
Раньше всё норм было
Denis
Что-то типа того выходит
web:
extends:
file: common.yml
service: web
volumes:
- .:/code
web2:
extends:
file: common.yml
service: web
volumes:
- .:/code2
Pavel
docker network inspect ...
должно выводить все контейнеры?
Anonymous
Denis
Pavel
тогда печаль
Denis
Если сеть overlay то все кто в ней по идее
Denis
Не только на ноде
Denis
docker service ps может показать ошибки между нодами
Pavel
Да я в логах вижу что один сервис до БД не достукивается
Pavel
ну, не только он один конечно же
Anonymous
entrypoint - это команда, которая выполняется каждый раз при запуске/перезапуске контейнера?
Artem
добавить условие в entrypoint
Artem
чаще всего это скрипт, да
Nikita
Anonymous
Просто мне нужно при первом запуске контейнера создавать пользователя
Nikita
Anonymous
RUN adduser
Через Dockerfile я это не пропишу, т.к. образ один, контейнеров много, и у каждого контейнера юзер свой
Artem
определяешь какой нибудь энвайромент который будет триггером для этой команды типо MIGRATE=1 и соответственно когда передашь этот параметр будешь запскать свою команду
Artem
ну в энтрипойнте опиши типо создать юзера если его еще нет
Anonymous
Сейчас у меня просто примонтирован /etc/passwd с хоста во все контейнеры
Anonymous
Насколько это плохо?
Anonymous
плохо, лучше разные uid и gid
Тогда пользователь не получит доступ к папке. У меня там ACL права, разрешающие права на запись,чтение и исполнение определённому пользователю, все остальные ничего не смогут сделать.
Anonymous
Denis