How can we add capabilities to a running docker container?

前端 未结 3 984
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-31 13:27

Is it possible to add a capability (for ex: NET_ADMIN) after the container has actually started?

I started a container few days ago and a service provided by it is b

相关标签:
3条回答
  • 2020-12-31 13:42

    No, you cannot modify the capabilities of a running container. These can only be defined when you first create or run (which is just a create+start) the container. You'll need to create a new container with the desired capabilities.

    I should point out that you can assign additional network interfaces to a running container with docker network connect, but I'm not aware of any loopback drivers you could use to solve your issue using this technique.

    0 讨论(0)
  • 2020-12-31 13:42

    you can run commands inside a running container using docker exec -it {container_id} /bin/bash. It will create a bash for you that you can run commands with. but generally it's not a good practice to have modifications on image states since it removes the portability of images.

    0 讨论(0)
  • 2020-12-31 13:45

    VanagaS

    1.Stop Container:

    docker stop yourcontainer;
    

    2.Get container id:

    docker inspect yourcontainer;
    

    3.Modify hostconfig.json(default docker path:/var/lib/docker, you can change yours)

    vim /var/lib/docker/containers/containerid/hostconfig.json
    

    4.Search "CapAdd", and modify null to ["NET_ADMIN"];

    ....,"VolumesFrom":null,"CapAdd":["NET_ADMIN"],"CapDrop":null,....
    

    5.Restart docker in host machine;

    service docker restart;
    

    6.Start yourconatiner;

    docker start yourcontainer;
    

    it work for me, enjoy it.

    0 讨论(0)
提交回复
热议问题