IPTABLES in Docker - Permission Denied

So if you’ve tried running IPTABLES inside a docker container, you’ll notice that,

  1. not installed on default ubuntu base
  2. “permission denied (you must be root)” error message after installation

Atleast at the time of this writing, searching on google won’t didn’t result in any answers. I took the liberty and went on the docker channel and asked there.

privileged mode

In short, running in privileged mode will allow the IPTABLE to run without the permission denied message.

docker run --privileged=true

Docker documentation doesn’t go too much into what privileged mode is. In the command line section of their doc, it states,

"--privileged=false Give extended privileges to this container"

Digging a little deaper into their docs you’ll find

Docker will enable to access to all devices on the host as well as set some configuration in AppArmor to allow the container nearly all the same access to the host as processes running outside containers on the host.

Running in privileged mode will also allow the privilged docker container to run and ocntrol other docker containers.

Resources

  1. Docker in Docker Docker’s post on running dockers inside dockers.
  2. I still haven’t found a nice source that lists all scenarios that would require the ‘privileged’ mode. Please message me if you know of any.


from: http://www.jlee.biz/iptables-in-docker-permission-denied

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐