docker 使用-v挂载文件路径时,没有访问权限出现 Permission denied

过程及报错

今天使用docker跑一个tomcat 的 domo 然后使用命令

docker run -d --name="test-web" -u root --rm -p 8170:8080 -v /data/tomcat/app-logs1:/app/tomcat/logs testtomcat:v1.0

发现容器创建成功 , 容器的id也出来了
但是 使用 docker ps 和 docker ps -a 均未找到容器
于是就把上面命令中的 -d (docker容器后台运行) 去掉

然后发现报错了

/app/tomcat/bin/catalina.sh: 
line 132: /app/tomcat/logs/startup.log: Permission denied

原因分析

错误的原因 是 /app/tomcat/logs/startup.log 这个文件没有访问权限
但是我们已经 通过 docker run 命令中的 -v /data/tomcat/app-logs1:/app/tomcat/logs
进行了挂载 所以就是我们的宿主机 /data/tomcat/app-logs1: 这个文件夹没有权限
使用 ll 查看这个 文件夹 会看到 开头的权限是 rwx r-x —

我们发现 其实是有权限的

是你当前的 宿主机用户 和 你的docker 容器用户不一致,导致没有访问权限

解决

在docker run 命令中 更改 -u 进行用户的指定

docker run -d --name="test-web" -u yueluo  --rm -p 8170:8080 -v /data/tomcat/app-logs1:/app/tomcat/logs testtomcat:v1.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值