今天在使用docker时出错了,run的时候发现秒退
事情是这样的
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
然后查看状态发现啥也没有
于是docker ps -a 看了下
发现启动秒退了
看了下报错日志
docker logs 383400070a6f
2020-05-26 06:03:39+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.30-1de
bian10 started.
chown: changing ownership of '/var/lib/mysql/': Permission denied
说是什么权限不够…
然后百度了下
于是,解决方法有这么三个:
1.在docker run中加入 --privileged=true 给容器加上特定权限
2.关闭selinux csdn
3.在selinux添加规则,修改挂载目录
于是命令变成了
docker run -p 3306:3306 --name mysql \
--privileged=true -v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
发现成功了。