1

我正在尝试从在 Podman 容器内运行的 .NET Core 3.1 应用程序访问 Raspberry Pi 4 GPIO,但我不断收到权限失败。我正在运行最新的 Raspbian Buster 基础操作系统。

Dockerfile 很简单:

FROM mcr.microsoft.com/dotnet/core/runtime:3.1
ADD myapp/* /myapp/
WORKDIR /myapp
ENTRYPOINT ["dotnet", "myapp.dll"]

这是我的run命令:

podman container run --rm --privileged -v /dev:/dev -v /sys:/sys myapp

我也试过了--device=/dev/gpiomem

我仍然从应用程序中得到以下异常:

[16:49:18 ERR] 'System.Device.Gpio.Drivers.SysFsDriver' 的类型初始化程序引发了异常。InnerException:System.UnauthorizedAccessException:对路径“/sys/class/gpio/gpiochip504/label”的访问被拒绝。

试图变得笨拙,我sudo chmod -R 777 /sys/class/gpio在运行容器之前在操作系统级别做了一个,但这没有帮助。

关于如何让容器访问硬件资源的任何想法?

4

0 回答 0