Ответ 1
От принимающего докера
Используйте команду проверки докеров:
docker inspect --format='{{.HostConfig.Privileged}}' <container id>
И в сценарии bash вы можете пройти тест:
if [[ $(docker inspect --format='{{.HostConfig.Privileged}}' <container id>) == "false" ]]; then
echo not privileged
else
echo privileged
fi
Изнутри самого контейнера
Вы должны попытаться запустить команду, требующую флаг --privileged
и посмотреть, не сработает ли она
Например, ip link add dummy0 type dummy
- это команда, которая требует, --privileged
флаг --privileged
был успешным:
$ docker run --rm -it ubuntu ip link add dummy0 type dummy
RTNETLINK answers: Operation not permitted
в то время как
$ docker run --rm -it --privileged ubuntu ip link add dummy0 type dummy
работает нормально.
В сценарии bash вы можете сделать что-то похожее на это:
ip link add dummy0 type dummy >/dev/null
if [[ $? -eq 0 ]]; then
PRIVILEGED=true
# clean the dummy0 link
ip link delete dummy0 >/dev/null
else
PRIVILEGED=false
fi