Evgeny
Лучше на шаге билда, очевидно
Alexey
согласен, но кода прибавится
Alexey
жертвы своевременного распознания проблем )
Great
Добрый день! Как можно передать в docker-compose опцию которая ею не поддерживается? (--device-cgroup-rule) ?
Roman
Добрый день! Как можно передать в docker-compose опцию которая ею не поддерживается? (--device-cgroup-rule) ?
примерно так же как "выучить с++ за 21 день" - никак. ждать, пока docker-compose станет это поддерживать
Great
я думал может есть опция типа aux-cmd: —device-cgroup-rule
Great
как-то так
Great
а временный костыль как-то можно соорудить,
Great
помимо того что бы вручную в баш скрипт все запихать и не использовать docker-compose
Dan
Хорошие друзья попросили пропиарить 😊
Dan
#учениесвет Открыт набор на курс "DevOps: практики и инструменты" - старт группы уже 12 февраля! DevOps это культура, а не профессия. DevOps решает задачу взаимодействия инженеров разработки и эксплуатации окружения между собой, что положительно влияет на все процессы, протекающие внутри компании. Хотите узнать больше? Спросите профессионалов! Преподавателями курса станут Express 42 - команда практикующих инженеров с опытом преподавания, мы набираем уже третью группу! В планах курса — 5 месяцев серьезного обучения по насыщенной программе: будут и теория, и практика, и боевые задачи, и непростые домашние задания. Только в нелегком обучении становятся хорошими специалистами! Лучшим по итогам обучения будет предоставлена возможность пройти собеседования на позиции middle специалистов в компаниях-партнерах (крупнейшие работодатели индустрии). Пройдите вступительное тестирование для поступления на курс. Испытайте себя. https://otus.pw/iU3l/
Ruslan
камрады, может есть идеи, есть локальный pip репозиторий со своими пакетами, при сборке образа выполняется команда pip install -U -r requirements.txt все общие пакеты спокойно ставятся, а с нашего локального pip репозитория перестали
Ruslan
devops'ы отмораживаются, поэтому приходится самому копать проблему
Terry
логи пип жи пишет нет?
Ruslan
Collecting libarchive-c==2.7 (from -r /tmp/requirements.txt (line 11)) Downloading libarchive_c-2.7-py2.py3-none-any.whl Collecting mongoloid<0.3,>=0.2.0 (from -r /tmp/requirements.txt (line 12)) Could not find a version that satisfies the requirement mongoloid<0.3,>=0.2.0 (from -r /tmp/requirements.txt (line 12)) (from versions: ) No matching distribution found for mongoloid<0.3,>=0.2.0 (from -r /tmp/requirements.txt (line 12))
Ruslan
в репе версия 0.2.4
Ruslan
правильно я понимаю, что если докер у меня на отдельной машине, то образ создаётся, используя настройки pip на той машине?
Alf 🙀
можно использовать 0.2.* конкретно в твоем случае
Alf 🙀
ну и неожиданно, да используются настройки пип даже не на той машине а в том образе который ты используешь, как бы это неожиданно не звучало
Ruslan
А вот я их не менял с лета. Что то отломали, мать их.
CMy3u🐈
У кого нибудь докер в продакшине есть?
CMy3u🐈
Как впечатления? Все норм работает?
Alexey
Все плохо
Alexey
Не пользуйтесь
CMy3u🐈
Шо серьезно? Гипс снимают, клиент уезжает.
Alexey
Ага
Alexey
Сырой очень
Vlad
сырой? какую версию вы используете?
CMy3u🐈
А чо плохо, чо не понравилось, чо не так?
Vlad
а то поставят docker 1.12 на rhel over device mapper а потом жалуются что сырой докер
Alexey
Ещё на 6центоси юзал даже
Dan
https://www.opennet.ru/opennews/art.shtml?num=47992
CMy3u🐈
Все норм ) года два в бою
Какие сервисы в бою под докером?
Alexey
Какие сервисы в бою под докером?
бэкенды, базы, кэши всякие
Aleksei
бэкенды, базы, кэши всякие
А файлы бд как храните?
Alexey
А файлы бд как храните?
на диске =) ну в volume они
Alexey
монтируются в контейнер
Aleksei
монтируются в контейнер
вот это интересовало, спасибо
Ruslan
/ # pip3 install mongoloid Collecting mongoloid Could not find a version that satisfies the requirement mongoloid (from versions: ) No matching distribution found for mongoloid / # export PIP_EXTRA_INDEX_URL=https://pypi.mine/backend/dev/+simple/ / # export PIP_TRUSTED_HOST=pypi.mine / # pip3 install mongoloid Collecting mongoloid Downloading https://pypi.mine/backend/dev/+f/854/689dfd097240f/mongoloid-0.2.4.tar.gz
Ruslan
эти переменные я прокидывал всегда так: ENV PIP_EXTRA_INDEX_URL=https://pypi.mine/backend/dev/+simple/ \ PIP_TRUSTED_HOST=pypi.mine
Ruslan
и всё работало, видимо что-то в докере поменяли, надо доку глянуть
Ruslan
так, короче, контейнер почему-то не берёт хостовую dns настройку
Ruslan
как это обкостылить на время билда образа?
Ruslan
docker build --add-host=nexus-internal:xx.yy.zz.vv .
Anonymous
Насколько плохо с помощью bind mount монтировать файл/etc/passwd хоста в /etc/passwd Docker контейнера?
Ruslan
Зачем
Anonymous
Зачем
Потому что у меня в контейнере работает php-fpm от имени определённого пользователя с определённым uid. Таких контейнеров много, у каждого контейнера логин пользователя и uid разный.
Anonymous
Если есть какие-то другие варианты создания пользователя в контейнере - буду рад, если расскажете
Anonymous
https://docs.docker.com/engine/reference/builder/#user
Насколько я понимаю, это юзер хоста?
Alf 🙀
Насколько я понимаю, это юзер хоста?
The USER instruction sets the user name (or UID) and optionally the user group (or GID) to use when running the image and for any RUN, CMD and ENTRYPOINT instructions that follow it in the Dockerfile.
Anonymous
И это не совсем то - у меня в конфиге php-fpm прописан определённый пользователь. Команда USER не создаёт пользователя внутри контейнера
Alf 🙀
RUN useardd <your_username>
Anonymous
А мне нужно не команду запустить от имени пользователя, а запустить определённый процесс (чем занимается php-fpm_)
Anonymous
RUN useardd <your_username>
В каждом контейнере свой пользователь. Я не хочу плодить столько образов.
Alf 🙀
А мне нужно не команду запустить от имени пользователя, а запустить определённый процесс (чем занимается php-fpm_)
создал пользователя, задал user, ентрипоинт иструкция запустится в контейнере от пользователя, как написано в доке
Alf 🙀
В каждом контейнере свой пользователь. Я не хочу плодить столько образов.
я не знаю деталей ваших потребностей, и количество контейнеров и соответственно специфики вашего программного обеспечения, и, в таком случае я бы предложил вам задуматься над архитектурой проекта, чтобы не заниматься котылестроительством
Anonymous
я не знаю деталей ваших потребностей, и количество контейнеров и соответственно специфики вашего программного обеспечения, и, в таком случае я бы предложил вам задуматься над архитектурой проекта, чтобы не заниматься котылестроительством
Всё достаточно просто. Мой проект - хостинг сайтов на Docker контейнерах. Каждый сайт работает в отдельном Docker контейнере. Каждый сайт лежит в отдельной директории, и эта директория принадлежит какому-то пользователю (у каждого сайта свой пользователь). Далее эта директория через bind mount монтируется в Docker контейнер, также в контейнер монтируются конфигурационные файлы веб-сервера Apache или пулы php-fpm.
Alexey
чет вы все антипаттерны собрали
Anonymous
Но т.к. Apache (или php-fpm) работает от определённого пользователя, то мне нужно сначала создать пользователя, а потом уже запустить apache/php-fpm
Anonymous
чет вы все антипаттерны собрали
А в чём минус хостинга на контейнерах?
Anonymous
Наоборот - изоляция сайтов
Anonymous
возможность ограничения ресурсов для каждого сайта по отдельности
Alexey
нет, проблемы с хостингом никакой нет
Alexey
проблема в том что вы завязываетесь на USER-id
Alexey
а еще монтируете конфиги снаружи
Alexey
это вот не правильно, по хорошему ваши контейнеры должны настраиваться из ENV параметров
Alexey
а монтировать в контейнер надо либо хранилище с какими нить upload_dir, либо tmpfs для временного шлака
Alf 🙀
tmpfs сам ведь монтируется?
Anonymous
У меня в контейнер также монтируется директория с сайтом, которая лежит на хосте.