如何在具有附加功能的 docker 容器中运行脚本,例如NET_ADMIN
?
我正在测试一些我想在需要NET_ADMIN
权限的 docker 映像中运行的命令。例如,这有效:
docker run --rm -it --cap-add 'NET_ADMIN' debian:stable-slim "iptables -L"
但是如果我想执行一个脚本(通过docker exec
),那么突然该--cap-add
选项不可用。
root@disp8686:~# cat << EOF > docker_script.sh
> apt-get update
> apt-get -y install iptables
> iptables -L
> EOF
root@disp8686:~# docker exec -it --cap-add 'NET_ADMIN' debian:stable-slim docker_script.sh
unknown flag: --cap-add
See 'docker exec --help'.
root@disp8686:~#
为什么--cap-add
存在docker run
但不存在docker exec
以及如何使用 docker 容器在 docker 容器中运行脚本--cap-add
?