A.D.🈴
Я вот КОПИ и делал. :) Ща, тут вроде нашел способ.
A.D.🈴
RUN curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh RUN bash nodesource_setup.sh RUN apt-get install nodejs RUN rm nodesource_setup.sh
A.D.🈴
Вот это после установки симфони.
A.D.🈴
Осталось так же ярн поставить. :)
Евгений
Здравствуйте. Подскажите директива depens_on отслеживает порядок запуска по началу или концу? Может ли один сервис по этому правилу начаться загружаться позже, но закончить раньше и посыпятся ошибки? Или таки пока один сервис не запустится полностью другой зависимый не начнёт?
George
он стартует следующий сервис как только создался (!) предыдущий
George
причем предыдущий может успеть запуститься и сдохнуть
George
хочешь нормально - используй compose файл версии 2.x (кажется 2.4 последняя) и depends_on service_healthy и ставь хелсчеки
George
тогда следующий будет стартовать только после того, как предыдуший дал готовность
Евгений
Уважение вашему мастерству)
Евгений
Спасибо
Dan
Бесплатный вебинар «Ошибки PRO-уровня при внедрении Kubernetes» от Mail.ru Cloud Solutions Kubernetes — одна из технологий, которую любят все: бизнесу он обеспечивает высокую скорость релизов, а всем ИТ-специалистам, от разработчиков до аналитиков данных — помогает строить и жить. Но часто на принятие решения о необходимости внедрения технологии сильно влияет хайп и ее популярность. Независимо от того, ваша это идея или вас заставили — на вебинаре специалисты MCS расскажут обо всех рисках, связанных с решением внедрить Kubernetes, неочевидных препятствиях и нюансах внедрения и эксплуатации, а также недоиспользованной выгоде. На вебинаре вы узнаете возможные риски, типичные факапы PRO-уровня при внедрении Kubernetes, как их избежать и как на самом деле в каждом случае добиться снижения Time-to-Market, улучшения утилизации ресурсов и бесперебойной работы приложений. Мероприятие пройдет в четверг, 11 марта, онлайн. Начало в 18:00 по Москве. 👉 Регистрируйтесь: https://vk.cc/bZ5Acn
Slach
Народ что то я не пойму есть простейший Dockerfile FROM ubuntu:20.04 RUN apt-get update && apt-get install -y bash RUN printf '#!/bin/bash\nset -x\nexec "$@"' > /entrypoint.sh && \ chmod +x /entrypoint.sh ENTRYPOINT /entrypoint.sh обращаю внимание на set -x exec "$@" делаю docker build -t wtf -f Dockerfile . потом docker run -it --rm wtf ls -la и вижу такой вывод + exec вместо ожидаемого + exec "ls -la" почему? что я не понимаю в entrypoint?
George
Он и выполняет команду справа от имени образа
Slach
Он и выполняет команду справа от имени образа
дак он не выполняет покманду то... вообще ни разу =) ладно на самом деле ларчик просто открывался надо было сделать ENTRYPOINT ["/entrypoint.sh"] вместо ENTRYPOINT "/entrypoint.sh" спасибо за помощь
George
Но вообще формат в скобках квадратных предпочтительнее
George
Всегда (кроме редких случаев, когда наоборот)
Solyar
Народ а подскажите как на iptables зарезать порт для всех кто попытается на контейнер в Docker пойти к примеру из интернета на хост на контейнер с портом 443
George
в prerouting режешь
George
или в цепочке DOCKER-USER
George
а еще лучше не пользоваться публикацией портов через -p - она работает через NAT
George
host network mode, iptables: false в настройках докера
George
по возможности
Вадим
всем привет! пытаюсь настроить docker_gen но в доке у них присутствует анахронизм volumes_from как обходить? и хотелось бы понять что сия инструкция шарила: мсходные вольюмы на хосте или конечные папки в контейнере - из пространного описания не понятно?
Solyar
Это просто тачка с docker registry
Solyar
надо как-то на нее правила навесить чтобы красиво было
George
а на nginx ты еще basic auth и acl можешь сделать
Solyar
ну registry напрямую тоже умеет
George
ничего не умеет
A.D.🈴
Погуглил, как запускать докер не от рута (а то все, что симфони в нем генерит из хоста невозможно править без постоянной смены прав). https://medium.com/redbubble/running-a-docker-container-as-a-non-root-user-7d2e00f8ee15 Вроде все сделал, запускается с моим uid, но теперь симфони не может ничего делать: I have no name!@a1bbc58cb124:/var/www/php$ symfony server:ca:install Disabling auto-update: "mkdir /.symfony: permission denied" failed to generate the local Certificate Authority: failed to create the CA directory: mkdir /.symfony: permission denied
A.D.🈴
Да.
A.D.🈴
Я правильно понял, что директория не создаётся в примаученой дире?
там даже на новый проект все равно оно че-т создать не может.
Vitaliy
Ну так права и владельцы у этой примаунченой диры, на хосте какие?
A.D.🈴
A.D.🈴
у самой директории ваще world-writable
Vitaliy
Вы маунтите .docker, пользователь про uid которого вы ранее писали это вот deralsem, владелец диры.
Vitaliy
Что-то мне кажется что создание диры в докере идёт от другого uid
Vitaliy
А пермишены диры этого и не дают сделать
George
Правильное решение - создавать каталог заранее и использовать расширенный синтаксис bind mount (—mount), а не через -v
A.D.🈴
Правильное решение - создавать каталог заранее и использовать расширенный синтаксис bind mount (—mount), а не через -v
каталог src,который маунтится - создается заранее. :) бинд маунт пойду почитаю что такое.
A.D.🈴
С нужными правами ?
ну он 777. Там даже у other все флаги стоят.
A.D.🈴
A.D.🈴
-v - это вот про волумс ты имеешь в виду?
A.D.🈴
надо не через волумс, а через бинд маунт?
George
Тогда проблем быть не должно
George
Хост машина Линукс или мак ?
George
Отличный выбор !
Dan
Поддержу
A.D.🈴
Отличный выбор !
Спасибо. :) пойду смотреть, в чем отличие волумс от бинд маунт. :)
George
И я бы все-таки чекнул узера внутри контейнера
A.D.🈴
И я бы все-таки чекнул узера внутри контейнера
Ну там юзер другой, важнее, что у него айди такой же.
A.D.🈴
Ща поменяю на бинд и посмотрю.
A.D.🈴
айди не те. :(
A.D.🈴
как так-то, блин...
George
Три топора у тебя стоят
George
А какие тебе нужны Айди ?
George
Внутри контейнера у тебя очевидно нет юзера с айди 1000
George
Поэтому он цифрами пишет, не именем пользака
George
Я решал это передачей user Id через переменную при старте контейнера
A.D.🈴
Я нашел косяк, кажется.
George
Но тогда в скрипте docker entry point надо сделай gosu в этого пользователя и конфиги для того же пхп фпм сгенерить правильные
A.D.🈴
Ща пересоберу контейнер, проверю.
George
Немножко сложновато по правде говоря, но реализуемо
A.D.🈴
Немножко сложновато по правде говоря, но реализуемо
Ну а какие варианты - каждый раз менять права после любого изменения симфони - это провал. А там еще энкор, который тоже постоянно что-то делает.
A.D.🈴
образ, да, спасибо. Там я либо скопировал неправильно, либо че: export UserID=$(id -g)
A.D.🈴
А должно быть export UserID=$(id -u)
A.D.🈴
Фигня. Айди совпадают, на php запись у всех, а все равно:
A.D.🈴