Dockerfile Raspberry PI Python pip install“PermissionError:[Errno 1]不允许操作”

Sas*_*cha 8 python pip docker

给定 Dockerfile

FROM python:3.10-slim
RUN pip install --user --no-cache-dir Flask requests
WORKDIR /app
COPY app /app
CMD ["python", "app.py"]
Run Code Online (Sandbox Code Playgroud)

做一个

docker build -t iobrokerplexwebhook:0.0.1 .
Run Code Online (Sandbox Code Playgroud)

我收到错误操作不允许

Step 2/5 : RUN pip install --user --no-cache-dir Flask requests
---> Running in 9ccdcb51ccec
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pip._internal.cli.main import main
File "/usr/local/lib/python3.10/site-packages/pip/_internal/__init__.py", line 4, in 
<module>
from pip._internal.utils import _log
File "/usr/local/lib/python3.10/site-packages/pip/_internal/utils/_log.py", line 8, in 
<module>
import logging
File "/usr/local/lib/python3.10/logging/__init__.py", line 57, in <module>
_startTime = time.time()
PermissionError: [Errno 1] Operation not permitted
Run Code Online (Sandbox Code Playgroud)

在 Windows 版 Docker 上,此构建没有任何错误。有人有解决办法吗?提前致谢!

小智 4

在 Raspberry Pi 4 上也有同样的问题。正如 Docker Github 页面上的问题所建议的,您需要更新 Docker 和 libseccomp2。

在 raspbian 上安装也不是直截了当的,但方法如下:

# Get signing keys to verify the new packages, otherwise they will not install
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC 648ACFD622F3D138

# Add the Buster backport repository to apt sources.list
echo 'deb http://httpredir.debian.org/debian buster-backports main contrib non-free' | sudo tee -a /etc/apt/sources.list.d/debian-backports.list

sudo apt update
sudo apt install libseccomp2 -t buster-backports
Run Code Online (Sandbox Code Playgroud)

来源:https ://blog.samcater.com/fix-workaround-rpi4-docker-libseccomp2-docker-20/