测试人社区

docker 搭建testlink课程问题,无法启动容器

问题:
执行创建mariadb数据库容器命令 ,创建好了后就自动退出了

背景
使用的linux centos 7

查看docker logs


提示无权限创建该目录,但命令中没有创建该目录得操作,这应该是初始化mariadb数据库,自己创建得目录,但是也不应该没有权限把,该问题怎么解决呢

Centos7安全Selinux禁止了一些安全权限,导致mysql和mariadb在进行挂载/var/lib/mysql的时候会提示如下信息:Permission denied
有三种解决办法:

  • 1.在docker run中加入 --privileged=true 给容器加上特定权限
  • 2.关闭selinux
  • 3.在selinux添加规则,修改挂载目录

附上一些命令
查看 SELinux状态及关闭SELinux
方法:
1.查看SELinux状态
sestatus -v
getenforce
2.临时关闭SELinux
setenforce 0

我也遇到相同的问题,我加了–user root 解决了

也有一种可能是-v挂载的目录你以前创建过,删除让他自动创建就行。不然就得用chown修改为跟docker内一样的uid