千家信息网

Docker如何创建容器时设置目录权限

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关Docker如何创建容器时设置目录权限,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。昨天写项目时需要用到Mysql的衍生版本percon
千家信息网最后更新 2026年11月03日Docker如何创建容器时设置目录权限

这篇文章将为大家详细讲解有关Docker如何创建容器时设置目录权限,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

昨天写项目时需要用到Mysql的衍生版本percona, 就想用Doker来安装.结果踩了一晚上坑, 今早终于解决. 现记录在此.
这个坑原因是我对linux的目录权限问题不敏感导致的. 我的系统是ubuntu16.04, 运行 docker pull percona 拉取镜像时一切正常.


拉取完后,输入 docker images查看所有镜像, 显示正常:

然后我创建容器,命令为(执行时不要有换行):

docker create --name percona -v /data/mysql-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:lates

这个命令的意思是我创建一个名为percona的容器, 然后把我本地的/data/mysql-data目录映射到docker容器中的/var/lib/mysql目录 并指定3306端口,然后设数据库root用户密码也为root,最后的percona:latest是指定我上面拉取的版本.

因为docker容器中的数据库只是一个镜像,可以理解为并不是真实存在的,映射到我本地目录的作用就是docker往/var/lib/mysql目录存储的数据都可以同步存储到我的本地/data/mysql-data目录. 这样保证了数据不丢失,而且方便我本地操作.

命令的参数不了解的可以看下官方文档或者随便搜个docker视频教程, 都有解释. 然后我开启此容器, docker start percona. 开启完后查询所有运行中的容器docker ps, 这时候出问题了:


为空,即没有查到运行中的容器... 然后我查了下所有的容器,包括运行的和没运行的的. docker ps -a, 显示如下:


原来是端口没有绑定成功, 所以没有运行!, 每次运行就自动exited

这时我查看了一下docker日志, 输入命令 docker logs 容器id, 显示如下:


注: 这里的71是我此容器的container_id的开头前两个数字, docker支持这种简化写法.

日志报错说我没有对容器中/var/lib/mysql目录下的创建和写权限.
现在找到这个问题原因了, 可是搜了一晚上都没有解决, 不得不说网上的一些不负责任的水贴是真的坑!
终于在早上找了解决办法:
即检查我本地目录的所有者和docker容器中的/var/lib/mysql目录的所有者是否为同一个用户.

docker run -ti --rm --entrypoint="/bin/bash" percona -c "whoami && id"

此命令的作用是查看容器的所有者, 显示为:


然后输入(不能换行):

docker run -ti --rm -v /data/mysql-data:/var/lib/mysql --entrypoint="/bin/bash" percona -c "ls -la /var/lib/mysql"

此命令的作用是查看映射本地数据卷时, 此目录的拥有者


原因就出在这里, 这就是为什么mysql用户访问docker中的目录时, 会报权限错误! 因为 本地映射目录的主人是root用户, 而docker容器中/var/lib/mysql目录的主人是mysql用户,uid为999!
然后解决方法就是, 把当前目录的拥有者赋值给uid 999即mysql用户, 再重新启动容器

关于"Docker如何创建容器时设置目录权限"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

容器 目录 运行 命令 用户 权限 数据 作用 原因 就是 所有者 篇文章 镜像 问题 输入 主人 拥有者 数据库 日志 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 互联网巨头反垄断金融科技 互联网金融科技创新 善班互联网科技有限公司 科技互联网创业计划书 互联网科技大会案例 互联网科技生活的内容 山东吉时兔互联网科技有限公司 济南和联互联网科技有限公司 互联网科技公司需要的职位 恒银科技与互联网金融 和信科技工业互联网 互联网科技商业 哈尔滨屹滨互联网科技有限公司 北京市互联网新科技 梅州GM互联网络科技有限公司 抖集互联网科技技术咨询 广西泛欧互联网科技有限公司 互联网科技博主张洲 承德科技产业互联网平台 高科技互联网 小马过河互联网科技 深圳齐家互联网科技 互联网科技logo设计 语蝶互联网科技有限公司 青岛科技大学互联网大赛研究生 辽宁互联网新科技 天津腾达互联网科技有限公司 工业互联网山东科技大学 山东亿川互联网科技有限责任公司
0