当前位置: 首页 > article >正文

记录一个docker volume映射目录创建文件报错问题

最近用docker-compse做中间件部署。

发现使用volume映射目录后,初始化时创建文件报错导致容器启动失败问题。

提示是没有访问权限。

如下:

mariadb 10:07:26.86 INFO  ==> 
mariadb 10:07:26.86 INFO  ==> Welcome to the Bitnami mariadb container
mariadb 10:07:26.86 INFO  ==> Subscribe to project updates by watching https://github.com/bitnami/containers
mariadb 10:07:26.86 INFO  ==> Submit issues and feature requests at https://github.com/bitnami/containers/issues
mariadb 10:07:26.86 INFO  ==> Upgrade to Tanzu Application Catalog for production environments to access custom-configured and pre-packaged software components. Gain enhanced features, including Software Bill of Materials (SBOM), CVE scan result reports, and VEX documents. To learn more, visit https://bitnami.com/enterprise
mariadb 10:07:26.87 INFO  ==> 
mariadb 10:07:26.88 INFO  ==> ** Starting MariaDB setup **
mariadb 10:07:26.89 INFO  ==> Validating settings in MYSQL_*/MARIADB_* env vars
mariadb 10:07:26.90 WARN  ==> You set the environment variable ALLOW_EMPTY_PASSWORD=yes. For safety reasons, do not use this flag in a production environment.
mariadb 10:07:26.90 INFO  ==> Initializing mariadb database
mariadb 10:07:26.91 INFO  ==> Updating 'my.cnf' with custom configuration
mariadb 10:07:26.92 INFO  ==> Setting user option
mariadb 10:07:26.93 INFO  ==> Setting slow_query_log option
mariadb 10:07:26.94 INFO  ==> Setting long_query_time option
mariadb 10:07:26.95 INFO  ==> Using persisted data
mariadb 10:07:26.95 INFO  ==> Running mysql_upgrade
mariadb 10:07:26.96 INFO  ==> Starting mariadb in background
2024-07-20 10:07:27 0 [Note] Starting MariaDB 11.4.2-MariaDB source revision 3fca5ed772fb75e3e57c507edef2985f8eba5b12 as process 59
2024-07-20 10:07:27 0 [ERROR] mysqld: Can't create/write to file './ddl_recovery.log' (Errcode: 13 "Permission denied")
2024-07-20 10:07:27 0 [ERROR] DDL_LOG: Failed to create ddl log file: ./ddl_recovery.log
2024-07-20 10:07:27 0 [ERROR] Aborting

这个需要手动将映射的目录赋权,而且要看容器使用的那个用户组。

先找到对应的镜像的Dockerfile

这里用bitnami/mysql的镜像演示。

入图,Dockerfile中指定了user 1001。这也是为了收缩容器权限,为了数据安全。

所以如果1001没有目录权限,会导致创建目录错误。

给绑定映射目录赋权:

sudo chown -R 1001:1001 /szxc/mysql
sudo chmod -R 755 /szxc/mysql

然后重启容器就可以了。


http://www.kler.cn/a/369096.html

相关文章:

  • 谈谈对函数式编程的理解及rxjs的使用
  • MongoDB快速入门
  • 超简单!spring 微服务之远程服务调用实战
  • 《手写Spring渐进式源码实践》实践笔记(第十一章 AOP-基于JDK、Cglib实现对象动态代理)
  • Zookeeper面试整理-分布式系统知识
  • 洛谷 P3130 [USACO15DEC] Counting Haybale P
  • 量子容错计算
  • ts:数组的常用方法(filter)
  • 开源模型应用落地-Qwen2.5-7B-Instruct与vllm实现离线推理-使用Lora权重(三)
  • python包的其他安装方法:whl、.tar.gz
  • 2024 年 MathorCup 数学应用挑战赛——大数据竞赛-赛道 A:台风的分类与预测
  • 【Docker大揭秘】
  • 【力扣】[Java版] 刷题笔记-70. 爬楼梯
  • JavaScript 前端开发
  • Python 网络爬虫:基础与实践
  • Java并发学习总结:原子操作类
  • python:如何判断一个数是否为素数
  • Go语言初识
  • 基于Python和OpenCV的疲劳检测系统设计与实现
  • 解决vue使用pdfdist-mergeofd插件时报错polyfills
  • VMware各版本下载的镜像站(含windows和linux)
  • ptp4l协议_配置文件
  • 【JIT/极态云】技术文档--函数设计
  • java :String 类
  • ReactOS系统中平衡二叉树,在一个空间中寻找与给定地址范围重合或部分重合的(已分配)区间
  • Python 实现日期计算与日历格式化输出(万年历)