Evgenii
Ок, спс
Олексій
Есть 2 стула (сервера на DO). На 1 стуле все ок. А на втором внтури такого же контейнера Permission denied даже при ls Контейнер стартует через docker-compose Разница только в системе (Ubuntu 17.04/Centos 7.5) На сервере с Centos 7.5 вот как раз и ошибка. Все от рута. Папка в для которой нет прав была добавлена в контейнер при помощи COPY . /app
Олексій
тобишь флоу: git clone ... make build make up make install //Установка зависимостей ВНУТРИ контейнера (docker-compose exec app bash -c "dep isntall") На убунте работает ок. А вот на CentOS(новый сервак, только поднял дроплет) - Permission denied
Олексій
Selinux?
черт, да. Все никак не могу привыкнуть
yoshi
коллеги, чем нынче модно консистентные вольюмы для сервиса с replicas=1 делать в сворме для бедных? кроме nfs. вот думаю iscsi может?
Ευγένιος
Коллеги, создаю сеть с типом bridge, даю ему имя «micruha». Потом в этой сети запускаю redis: `$ docker run —net micruha -p 6379:6379 —name redis redis` В инспекторе сети появляется новый контейнер с именем докер. Далее запускаю пользовательский контейнер с этой сетью, в инспекторе так-же появляется этот контейнер но в файле hosts пользовательского контейнера не появляется redis который ведёт к ip контейнера. В чем может быть дело? Могу что-то по подробнее объяснять. Спасибо.
Адаптивный Рекомбинатор
и не должен
Адаптивный Рекомбинатор
обращайся просто по имени redis
Адаптивный Рекомбинатор
hosts-то тут причем?
Ευγένιος
обращайся просто по имени redis
Ну а как мой контейнер поймёт что redis:6379 это адрес моего контейнера с редисом?
Адаптивный Рекомбинатор
днс
Адаптивный Рекомбинатор
докерный
Ευγένιος
докерный
Оу, ну тогда спасибо большое. Я как-то не подумал.
Andrey
Andrey
хелп нубасу)
Anonymous
systemctl status httpd.service
Artem
в докере запускать надо через entrypoint
Artem
или cmd
Andrey
спасибо
Alexander
ребята, подскажите, при старте докера "Error while setting daemon root propagation, this is not generally critical but may cause some functionality to not work or fallback to less desirable behavior" dir=/var/lib/docker error="error getting daemon root's parent mount: Could not find source mount of /var/lib/docker"
Alexander
встречал кто?
Sergey
Переустанавливать пробовали?😂
Sergey
Адища какая то, в первый раз вижу
Alexander
а правильно ли вообще пытататься удалить /var/lib/docker/ и пробовать рестартануть потом?
Адаптивный Рекомбинатор
нет
Адаптивный Рекомбинатор
правильно - docker system prune -a -f
Sergey
+
Alexander
у меня докер уже не запущен
Адаптивный Рекомбинатор
жаль тебя
Sergey
Да упокоится сей демон
Alexander
selinux? пользователь в группе?
Gleb
а правильно ли вообще пытататься удалить /var/lib/docker/ и пробовать рестартануть потом?
Это не правильно, но нормально. А если еще и настроено правильно то безопасно. Хотя такую необходимость я давно не встречал, а раньше был ок метод лечения через ампутацию всего
Artem
!спам
Dm
/report
Egor
подскажите пожалуйста как делать zero-downtime деплой с докером? если грохать старые контейнеры и стартовать новые, то сервис становится недоступным на несколько секунд, что недопустимо
Gleb
у тебя перед приложениями нет балансировщика?
Gleb
самая простейшая схема это 2 контейнера за балансером, обновляешь контейнер 1, работа идет через контейнер 2, потом первый. Чтоб не было всяких 500 и прочего делаются хелсчеки или велосипедится на уровне изменения конфига балансера типа выключить 1 контейнер из балансировки, обновить его, включить, выключить контейнер 2 и т.д. В общих словах как-то так
Egor
спасибо!
Egor
вот тут тоже схема с двумя сервисами: https://github.com/vincetse/docker-compose-zero-downtime-deployment
Evgeniy
кто нибудь сталкивался с такой ошибкой? XFS (dm-2): Internal error XFS_WANT_CORRUPTED_RETURN at line 353 of file fs/xfs/libxfs/xfs_alloc.c. Caller xfs_alloc_ag_vextent_near+0x796/0xac0 [xfs]
Egor
подскажите пожалуйста как делать zero-downtime деплой с докером? если грохать старые контейнеры и стартовать новые, то сервис становится недоступным на несколько секунд, что недопустимо
поднять новый контейнер, прогреть, и спроксировать на него, например через nginx. Т.е либо руками переписывать конфиг, либо автоматизировать.
Leo
Ну либо добавить фронт, и блю-грин
Evgeniy
файловая система побилась ?
пара контейнеров постоянно рестартились может в них дело
Egor
всем привет. пробую обернуть в докер php-приложение. написал 2 докерфайла (php-fpm с проектом и nginx) и docker-compose.yml, который их собирает. встал вопрос, как достукиваться до nginx, который в докере. Хочу на хосте иметь обычный nginx не в докере, который бы делал proxy_pass на nginx в докере. Какой прямой способ связаться с контейнером по hostname ?
Egor
погуглил, все вразнобой делают. кто какой-то dockdns ставит, то свои скрипты пишет для docker-api
Boris
Чтоб достучаться из докер контейнера в другой контейнер - нужно описать нетворк между ними, а затем просто обратится(прокинуть прокси пасс) по имени, которое указано для контейнера в docker-compose.yml Чтоб достучаться из среды в докер - нужно просто сделать EXPOSE в докере, чтобы он расшарился на какой-то порт, затем просто прокси пасс localhost:port сделать
Igor
Коллеги, а как можно увеличить доступное дисковое пространство для докера, который использует драйвер devicemapper? Data Space Available: 27.71GB Вот конкретно эту вот штуку
Igor
Увеличение места на самом диске результата не дает. Ощущение, что докер не понимает, что ему есть куда расти
Egor
по имени контейнера
Igor
Там из сложностей, ФС диска, на котором крутится /var/lib/docker - btrfs. А докер, в свою очередь, работает через драйвер девайсмаппера
Igor
И пока что чот понимания нет :c Может знает кто-нибудь чонеть на эту тему?)
Egor
потому что проектов с nginx+php может быть несколько, поэтому -p 80:80 для каждого nginx не сработает
Boris
так и делайте random:80
Boris
Ну на счет имени - не подскажу, не пробовал так делать
Boris
Наверняка можно присвоить хостнейм
Egor
может я хочу странного, и есть более правильный путь?
Boris
Но всеравно, если докер должен слушать какой--либо порт, если говорить о прослушивании, тут вы не уйдете от вопроса того, что нужно все контейнеры на разные порты бросать
Egor
Зачем не в докере?
хороший вопрос. ну мне страшны всякие незнакомые вещи, как я letsencrypt к докерному nginx прикручу. как организовать запуск этого главного nginx, чтобы он знал по именами контейнеры каждого проекта итд
Egor
если вот с такими мелочами разобраться, наверное действительно удобнее будет nginx тоже контейнеризированный иметь
Boris
Вы не сможете заскелится в дальнейшем, если будете держать nginx на сервере, а приложение в контейнере внутри
Boris
Правильная структура - лоад балансер с сертификатом, а дальше уже nginx -> php-fpm
Igor
Единый nginx с описанными location работает прекрасно
Boris
причем последняя пара дублируется до нужного количества
Egor
php генерит assets, которые должен отдавать nginx
Egor
вот я щас про load-балансер с сертификатом и веду речь. как бы мне его сделать. в контейнере или без
Igor
вытащите конфиги нгинкса на хостовую машину вольюмом или маунтом и разместите нужные сертификаты
Igor
У нас это так работает, по крайней мере
Boris
Я наверное рабалован aws, но там это проще решается :)
Igor
в авс все проще...
Egor
не, облаков нет. только метал и хардкор
Boris
Тогда бабахайте nginx без контейнера, php-fpm в нем, с учетом что вернетесь к поиску решения когда нужно будет скейлиться