Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Run command as --privileged in Dockerfile

I need to bee --privileged to run a specific command in the Dockerfile but I can't find a way to tell docker to do so.

The command is RUN echo core > /proc/sys/kernel/core_pattern

If I put that in the Dockerfile the build process fails.

If I run the Dockerfile with that line commented but with the flag --privileged then I can run the command well within the container.

Is there any solution to make everything work from the Dockerfile?

Thank you

like image 961
user1618465 Avatar asked Jan 11 '17 23:01

user1618465


1 Answers

Not exactly "Dockerfile", but you can do this with an entrypoint script provided you always run the container with --privileged

That being said, I would warn against this if at all possible as part of the beauty of docker is that you aren't running things as root.

A more better alternative, IMHO, is instead to change this on the host system. In that way, it will be reflected within the container as well.

The only caveat to that is that that will be reflected on all containers on that system (and of course, the system itself).

Here is a proof of concept for my suggested solution:

root@terrorbyte:~# docker run -it alpine cat /proc/sys/kernel/core_pattern
core
root@terrorbyte:~# echo core2 > /proc/sys/kernel/core_pattern
root@terrorbyte:~# docker run -it alpine cat /proc/sys/kernel/core_pattern
core2
like image 97
Nick Burke Avatar answered Oct 02 '22 19:10

Nick Burke