news 2026/4/23 22:22:19

启动容器报错ls: cannot access ‘/docker-entrypoint-initdb.d/‘: Operation not permitted

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
启动容器报错ls: cannot access ‘/docker-entrypoint-initdb.d/‘: Operation not permitted

错误原因分析

  1. SELinux 安全模块限制‌:CentOS 系统默认启用 SELinux,会限制容器对某些目录的访问权限。
  2. Docker 权限不足‌:容器缺少执行初始化脚本所需的权限。

解决方案

方法一:添加特权模式(好使)

docker-compose.yml中为容器添加--privileged参数,赋予容器 root 权限:

services: your_service: image: your_imageprivileged: true # 添加此行volumes: - ./initdb.d:/docker-entrypoint-initdb.d

注意‌:使用特权模式存在安全风险,建议仅在测试环境中使用。

方法二:修改 SELinux 配置

临时禁用 SELinux(重启后失效):

setenforce 0

永久禁用 SELinux(需重启系统):

vi /etc/selinux/config # 将 SELINUX=enforcing 改为 SELINUX=disabled
方法三:检查目录权限

确保主机目录权限正确:

chmod 755 ./initdb.d

并在docker-compose.yml中正确映射:

volumes: - ./initdb.d:/docker-entrypoint-initdb.d:ro # 添加只读权限

验证步骤

  1. 修改docker-compose.yml后,执行docker-compose down清理旧容器。
  2. 重新启动服务:docker-compose up -d
  3. 检查日志:docker-compose logs

其他建议

  • 若问题持续,升级 Docker 版本至 20.10.9+(如 CentOS 7)。
  • 确认docker-entrypoint-initdb.d目录下文件格式正确(如.sh.sql)。

优先推荐方法一(添加特权模式),若需长期解决方案,建议方法二(禁用 SELinux)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 14:01:20

Android投屏工具深度实践:跨平台部署与功能全解析

Android投屏工具深度实践:跨平台部署与功能全解析 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/QtScrcpy …

作者头像 李华
网站建设 2026/4/23 15:00:06

Wechaty Puppet XP:Windows平台微信机器人开发完整指南

技术架构概述 【免费下载链接】puppet-xp Wechaty Puppet WeChat Windows Protocol 项目地址: https://gitcode.com/gh_mirrors/pu/puppet-xp Wechaty Puppet XP是基于Windows微信桌面版协议开发的本地化机器人解决方案,采用先进的Sidecar技术架构实现进程间…

作者头像 李华
网站建设 2026/4/23 13:36:49

FF14钓鱼助手终极指南:如何轻松成为艾欧泽亚钓鱼大师

FF14钓鱼助手终极指南:如何轻松成为艾欧泽亚钓鱼大师 【免费下载链接】Fishers-Intuition 渔人的直感,最终幻想14钓鱼计时器 项目地址: https://gitcode.com/gh_mirrors/fi/Fishers-Intuition 还在为FF14钓鱼时错过鱼王而懊恼不已吗?是…

作者头像 李华
网站建设 2026/4/23 14:00:42

棕榈酰三肽-28/Palmitoyl Tripeptide-28 具有抗炎功效

棕榈酰三肽-28与细胞表面的特异性受体TGF-βII (TbRII)结合。该受体磷酸化受体TGF-βI (TbRI)生成活性受体复合物,进而磷酸化Smad 2或Smad 3蛋白。Smad 2或Smad 3与胞质 Smad 4蛋白形成复合物,从而使Smad复合物转位至细胞核。在细胞核内,增强…

作者头像 李华
网站建设 2026/4/23 11:44:16

ABAP调用CDS AMDP:数据库存储过程封装

我理解amdp 类似于数据库存储过程,对一系列简单动作的封装,本文主要讲的是创建cds amdp 给abap调用CDS代码class ZCL_AMDP_YYYY_DEMO1 definitionpublicfinalcreate public .public section.INTERFACES if_amdp_marker_hdb.DATA lt_ZTYYY_TEST type tabl…

作者头像 李华