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
George
Он и выполняет команду справа от имени образа
Slach
Он и выполняет команду справа от имени образа
дак он не выполняет покманду то... вообще ни разу =)
ладно на самом деле ларчик просто открывался
надо было сделать
ENTRYPOINT ["/entrypoint.sh"]
вместо
ENTRYPOINT "/entrypoint.sh"
спасибо за помощь
George
George
Но вообще формат в скобках квадратных предпочтительнее
George
Всегда (кроме редких случаев, когда наоборот)
Solyar
Народ а подскажите как на iptables зарезать порт для всех кто попытается на контейнер в Docker пойти к примеру из интернета на хост на контейнер с портом 443
George
в prerouting режешь
George
или в цепочке DOCKER-USER
George
а еще лучше не пользоваться публикацией портов через -p - она работает через NAT
Anonymous
George
host network mode, iptables: false в настройках докера
George
по возможности
Вадим
всем привет!
пытаюсь настроить docker_gen но в доке у них присутствует анахронизм volumes_from
как обходить?
и хотелось бы понять что сия инструкция шарила: мсходные вольюмы на хосте или конечные папки в контейнере - из пространного описания не понятно?
Solyar
Solyar
Это просто тачка с docker registry
Solyar
надо как-то на нее правила навесить чтобы красиво было
George
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
Vitaliy
A.D.🈴
Да.
A.D.🈴
Vitaliy
Ну так права и владельцы у этой примаунченой диры, на хосте какие?
A.D.🈴
A.D.🈴
у самой директории ваще world-writable
Vitaliy
Вы маунтите .docker, пользователь про uid которого вы ранее писали это вот deralsem, владелец диры.
Vitaliy
Что-то мне кажется что создание диры в докере идёт от другого uid
Vitaliy
А пермишены диры этого и не дают сделать
George
George
Правильное решение - создавать каталог заранее и использовать расширенный синтаксис bind mount (—mount), а не через -v
A.D.🈴
A.D.🈴
George
A.D.🈴
A.D.🈴
-v - это вот про волумс ты имеешь в виду?
A.D.🈴
надо не через волумс, а через бинд маунт?
George
George
Тогда проблем быть не должно
George
Хост машина Линукс или мак ?
A.D.🈴
George
Отличный выбор !
Dan
Поддержу
A.D.🈴
Отличный выбор !
Спасибо. :) пойду смотреть, в чем отличие волумс от бинд маунт. :)
George
И я бы все-таки чекнул узера внутри контейнера
A.D.🈴
Ща поменяю на бинд и посмотрю.
A.D.🈴
A.D.🈴
как так-то, блин...
George
Три топора у тебя стоят
George
А какие тебе нужны Айди ?
George
Внутри контейнера у тебя очевидно нет юзера с айди 1000
George
Поэтому он цифрами пишет, не именем пользака
George
Я решал это передачей user Id через переменную при старте контейнера
A.D.🈴
Я нашел косяк, кажется.
George
Но тогда в скрипте docker entry point надо сделай gosu в этого пользователя и конфиги для того же пхп фпм сгенерить правильные
A.D.🈴
Ща пересоберу контейнер, проверю.
George
Немножко сложновато по правде говоря, но реализуемо
George
A.D.🈴
образ, да, спасибо.
Там я либо скопировал неправильно, либо че:
export UserID=$(id -g)
A.D.🈴
А должно быть export UserID=$(id -u)
A.D.🈴
Фигня. Айди совпадают, на php запись у всех, а все равно:
A.D.🈴