在 Docker 运行 命令中使用 --reset 和 register 标签?

Usage of --reset and register tag in Docker run command?

我是 Docker 和 Qemu 的新手。我正在考虑使用 this Qemu

我正在尝试理解以下命令:

docker run --rm --privileged multiarch/qemu-user-static:register --reset

为什么要包括 --resetregister 标签有什么意义?

提前致谢!

我猜 --reset 这意味着他们在 ReadMe 中写道:删除所有在 之前注册的 binfmt_misc,所以通过查看 register.sh 你可以看到以下内容:

if [ "" = "--reset" ]; then
    shift
    find /proc/sys/fs/binfmt_misc -type f -name 'qemu-*' -exec sh -c 'echo -1 > {}' \;
fi

所以当你传递 --reset 时,它将禁用与 qemu 相关的所有内容和 register 标签本身,我猜他们在使用 Qemu 之前用来启用 binfmt_misc 因为如果找不到它容器将失败:

if [ ! -d /proc/sys/fs/binfmt_misc ]; then
    echo "No binfmt support in the kernel."
    echo "  Try: '/sbin/modprobe binfmt_misc' from the host"
    exit 1
fi