最近在搞docker 编译go程序打包
遇到这么一个问题
docker -v 之后在容器中居然没有数据,没有挂载上去
因为之前有遇到这个问题,后边换了服务器就没事了 就丢到一边了
最近又用上这个功能了
查了一下资料发现需要开启一个东西
CentOS7中的安全模块selinux把权限禁掉了,无法使用-v命令进行挂载
第一个处理办法就是 在 -v 后边跟着一个 --privileged=true
docker run --rm -it \
-v /home/docker/:/app \
--privileged=true \
-w /app \
-e GOPROXY=https://goproxy.cn \
docker.io/golang \
go build -o myweb main.go
第二个处理办法
chcon -Rt svirt_sandbox_file_t 需要被挂载的目录
docker run --rm -it \
-v /home/docker/:/app \
-w /app \
-e GOPROXY=https://goproxy.cn \
docker.io/golang \
go build -o myweb main.go
本人测试了这两种方式都是可以的,如果还有其他办法还请留言 感谢
在CentOS7上运行Docker时遇到挂载目录权限问题,由于SELinux的安全策略导致-v挂载失效。解决方案包括使用`--privileged=true`选项或执行`chcon -R -t svirt_sandbox_file_t`命令来改变目录上下文。两种方法已验证可行,如还有其他解决办法,欢迎留言分享。
7323

被折叠的 条评论
为什么被折叠?



