Python 在笔记本服务器容器中使用系统级功能

Python 在笔记本服务器容器中使用系统级功能,python,docker,jupyter-notebook,jupyter,jupyterhub,Python,Docker,Jupyter Notebook,Jupyter,Jupyterhub,我正试图使用此存储库作为起点来部署JupyterHub: 好消息是,我能够成功地部署JupyterHub、登录并开始为用户生成笔记本服务器。此外,这些笔记本服务器的功能与预期一致 下一步是定制笔记本图像,以更好地适应我的用例。为此,我修改了“singleuser”目录中的“Dockerfile”。现在看起来是这样的: FROM jupyter/datascience-notebook USER root RUN python3 -m pip install --no-cache requests

我正试图使用此存储库作为起点来部署JupyterHub:

好消息是,我能够成功地部署JupyterHub、登录并开始为用户生成笔记本服务器。此外,这些笔记本服务器的功能与预期一致

下一步是定制笔记本图像,以更好地适应我的用例。为此,我修改了“singleuser”目录中的“Dockerfile”。现在看起来是这样的:

FROM jupyter/datascience-notebook
USER root
RUN python3 -m pip install --no-cache requests fastapi pydantic pytest six pymlconf authlib python-dotenv multiping ping3
再次启动JupyterHub后,我们的目标是使用ping3库尝试并ping我们实验室中的一些服务。但是,这失败了,出现了如下所示的权限错误

Jupyter笔记本中的代码:

从ping3导入ping,详细\u ping
ping('google.com',unit='ms')
错误消息:

---------------------------------------------------------------------------
PermissionError回溯(最近一次调用上次)
在里面
1从ping3导入ping、详细ping
---->2 ping('google.com',unit='ms')
/ping中的opt/conda/lib/python3.7/site-packages/ping3.py(dest_addr,timeout,unit,src_addr,ttl,seq,size)
163 PingError:如果'ping3.EXCEPTIONS'为True,则任何PingError都将再次引发。
164     """
-->165将socket.socket(socket.AF_INET、socket.SOCK_RAW、socket.IPPROTO_ICMP)作为SOCK:
166 sock.setsockopt(socket.SOL_IP,socket.IP_TTL,TTL)
167如果src_地址:
/opt/conda/lib/python3.7/socket.py in_u__________(self、family、type、proto、fileno)
149如果proto==-1:
150 proto=0
-->151 _socket.socket.__init___(self、family、type、proto、fileno)
152自参考=0
153自我关闭=错误
PermissionError:[Errno 1]不允许进行操作

非常感谢您的任何建议或指导!这是一个
许可错误
,这意味着您需要超级用户/admin/root的权限才能发送ICMP ping包