Evgeny
Лучше на шаге билда, очевидно
Alexey
согласен, но кода прибавится
Alexey
жертвы своевременного распознания проблем )
Great
Добрый день! Как можно передать в docker-compose опцию которая ею не поддерживается? (--device-cgroup-rule) ?
Great
я думал может есть опция типа aux-cmd: —device-cgroup-rule
Great
как-то так
Great
а временный костыль как-то можно соорудить,
Great
помимо того что бы вручную в баш скрипт все запихать и не использовать docker-compose
Great
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
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 🙀
ну и неожиданно, да используются настройки пип даже не на той машине а в том образе который ты используешь, как бы это неожиданно не звучало
Terry
Ruslan
А вот я их не менял с лета. Что то отломали, мать их.
CMy3u🐈
У кого нибудь докер в продакшине есть?
Petr
CMy3u🐈
Как впечатления? Все норм работает?
Alexey
Все плохо
Alexey
Не пользуйтесь
CMy3u🐈
Шо серьезно? Гипс снимают, клиент уезжает.
Alexey
Ага
Alexey
Сырой очень
Vlad
сырой? какую версию вы используете?
CMy3u🐈
А чо плохо, чо не понравилось, чо не так?
Alexey
Alexey
Vlad
а то поставят docker 1.12 на rhel over device mapper а потом жалуются что сырой докер
Alexey
Alexey
Ещё на 6центоси юзал даже
Dan
https://www.opennet.ru/opennews/art.shtml?num=47992
Alexey
Aleksei
Alexey
монтируются в контейнер
Ruslan
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
и всё работало, видимо что-то в докере поменяли, надо доку глянуть
Terry
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
Если есть какие-то другие варианты создания пользователя в контейнере - буду рад, если расскажете
Alf 🙀
Anonymous
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_)
Alexey
чет вы все антипаттерны собрали
Anonymous
Но т.к. Apache (или php-fpm) работает от определённого пользователя, то мне нужно сначала создать пользователя, а потом уже запустить apache/php-fpm
Alf 🙀
Anonymous
Наоборот - изоляция сайтов
Anonymous
возможность ограничения ресурсов для каждого сайта по отдельности
Alexey
нет, проблемы с хостингом никакой нет
Alexey
проблема в том что вы завязываетесь на USER-id
Alexey
а еще монтируете конфиги снаружи
Alexey
это вот не правильно, по хорошему ваши контейнеры должны настраиваться из ENV параметров
Alexey
а монтировать в контейнер надо либо хранилище с какими нить upload_dir, либо tmpfs для временного шлака
Alf 🙀
tmpfs сам ведь монтируется?
Anonymous
У меня в контейнер также монтируется директория с сайтом, которая лежит на хосте.