docker中运行python文件,报错PermissionError: [Errno 13] Permission denied: ‘./data/xx.pkl‘

报错原因 :

进入容器时未给与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]

你可能感兴趣的:(Python技能与踩坑记录,docker,容器,运维)