报错原因 :
进入容器时未给与root权限,运行python文件时在读取文件时未权限,
解决办法 :
1、进入容器使用-u 0 参数
# 以root用户进入容器中,
docker exec -u 0 -it 容器名称 /bin/bash
# 再执行文件
root@99fc4cce3246:/app# python xx.py
2、确认Privileged状态
docker inspect 确认状态
docker inspect --format='{{.HostConfig.Privileged}}' [container_id]
示例 :
root@10_1_160_73:~# docker inspect --format='{{.HostConfig.Privileged}}' 99fc4cce3246
false
# 如果为'false' 说明创建容器的时候没有加--privileged参数
修正方案 :
docker-compose.yaml文件中添加
privileged: true参数
或者
sudo docker run --privileged [image_name]