2017-01-11 3 views
4

Мне нужно, чтобы bee -privileged для запуска определенной команды в файле Docker, но я не могу найти способ сказать docker для этого.Выполнить команду as --привилегирован в файле Docker

Команда RUN echo core > /proc/sys/kernel/core_pattern

Если я ставлю, что в Dockerfile процесс сборки не удается.

Если я запустил файл Docker с указанной строкой, но с флагом --privileged, то я могу хорошо выполнить команду внутри контейнера.

Есть ли какое-либо решение, чтобы все работало из файла Docker?

Спасибо

ответ

1

Не совсем «Dockerfile», но вы можете сделать это с помощью сценария Entrypoint условии, что вы всегда запускать контейнер с --privileged

, как говорится, я бы предостеречь от этого, если это вообще возможно как часть красоты докера - это то, что вы не управляете вещами как root.

Лучше альтернатива, IMHO, вместо этого изменить это на главной системе. Таким образом, это будет отражено и в контейнере.

Единственное предостережение в том, что это отразится на всех контейнерах этой системы (и, конечно же, на самой системе).

Вот доказательство концепции моего Предложенное решение:

[email protected]:~# docker run -it alpine cat /proc/sys/kernel/core_pattern 
core 
[email protected]:~# echo core2 > /proc/sys/kernel/core_pattern 
[email protected]:~# docker run -it alpine cat /proc/sys/kernel/core_pattern 
core2 
Смежные вопросы