Подскажите по docker-y кто шарит

12
Sly32
На сайте с 29.03.2012
Offline
303
#11
Aisamiery #:

Смотря для чего вам это надо, запустить основной процесс от пользователя и его группы в композ (версии 3) можно вот так

PS. Да забыл, только надо экспортунть эти переменные окружения

А можно просто создать .env файл и использовать его. Но все равно лучше это делать в докерфайле

K
На сайте с 24.10.2023
Offline
2
#12
Aisamiery #:
Вы немного не поняли суть докера, это не виртуализация как например виртуалбокс, задача докера изолировать 1 процесс с PID 1 только за ним он и следит.

можно ли таким образом с помощью докера управлять ресурсами? например выделить для PID 1 скажем 4 ядра и столько-то памяти, а для PID 2 побольше

Sly32
На сайте с 29.03.2012
Offline
303
#13
keklodoq #:

можно ли таким образом с помощью докера управлять ресурсами? например выделить для PID 1 скажем 4 ядра и столько-то памяти, а для PID 2 побольше

Докер не для управления ресурсами, вы можете для докера выделить ресурс, и он будет внутри крутиться

Aisamiery
На сайте с 12.04.2015
Offline
293
#14
keklodoq #:

можно ли таким образом с помощью докера управлять ресурсами? например выделить для PID 1 скажем 4 ядра и столько-то памяти, а для PID 2 побольше

да можно ограничить контейнеру ресурсы https://docs.docker.com/config/containers/resource_constraints/

Runtime options with Memory, CPUs, and GPUs
  • docs.docker.com
By default, a container has no resource constraints and can use as much of a given resource as the host's kernel scheduler allows. Docker provides ways to control how much memory, or CPU a container can use, setting runtime configuration flags of the command. This section provides details on when you should set such limits and the possible...
Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
L
На сайте с 10.02.2015
Offline
221
#15
Sly32 #:

Это не в композе а в докерфайле делают

Это на каждый сервис придется кодить докерфайл тогда

L
На сайте с 10.02.2015
Offline
221
#16
Aisamiery #:

Смотря для чего вам это надо, запустить основной процесс от пользователя и его группы в композ (версии 3) можно вот так

PS. Да забыл, только надо экспортунть эти переменные окружения

У пользователя в докере нет прав на файлы из-за того, что он не знает группы.

Попробую.

Вышло ранее добавлением группы в работающий контейнер и рестартом php/nginx.

Но после перезапуска контейнера все пропадает.

Aisamiery
На сайте с 12.04.2015
Offline
293
#17
livetv #:

У пользователя в докере нет прав на файлы из-за того, что он не знает группы.

Попробую.

Вышло ранее добавлением группы в работающий контейнер и рестартом php/nginx.

Но после перезапуска контейнера все пропадает.

Вам надо понимать, что такое пользователь и группа в linux это по сути какой то ID числовой. В контейнере не свои ID, а точно такие же. То есть если у вас есть на хост системе пользователь например webuser с ID 1001, то в контейнере тоже надо создать пользователя с 1001 ID, тогда у него будут такие же права для файлов. Выше способ я показал как можно запустить процесс от того же пользователя, у меня в продакшене так работает. Ну и не правильно чтобы nginx и php были в одном контейнере. Путь докера (docker way) это то, что в одном контейнере один основной процесс.

L
На сайте с 10.02.2015
Offline
221
#18
Aisamiery #:
Вам надо понимать, что такое пользователь и группа в linux это по сути какой то ID числовой.

Да, я с числом добавлял

Aisamiery #:
Ну и не правильно чтобы nginx и php были в одном контейнере.

В разных контейнерах, в одном компосе файле.

Sly32
На сайте с 29.03.2012
Offline
303
#19
livetv #:

У пользователя в докере нет прав на файлы из-за того, что он не знает группы.

Попробую.

Вышло ранее добавлением группы в работающий контейнер и рестартом php/nginx.

Но после перезапуска контейнера все пропадает.

Я может, не очень понял проблему, но в моем случае я в докерфайле просто делаю так:

FROM python:3.10
RUN groupadd -r docker && useradd -r -g docker docker
RUN apt-get update && apt-get install -y \
    gettext \
    libpcre3 \
    libpcre3-dev \
    rsync
etc....

Ровно так как и делал бы в обычной убунте, например

Sly32
На сайте с 29.03.2012
Offline
303
#20
livetv #:

Это на каждый сервис придется кодить докерфайл тогда

необязательно, тв можешь взять готовый образ, если не нужно ничего менять, просто добавить, например, переменные окружения

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий