出现的问题:

 docker run 加上 -v 参数之后,容器就一直是 restarting 状态,去掉 -v 参数就可以正常运行

 

查找问题:

使用 docker logs 'containerId'

这个containerId,就是docker run之后返回的containerId

可以看到,是权限拒绝的问题

解决问题:

docker run时加上参数 :加上--privileged=true

例如:

docker run -dit -e MYSQL_ROOT_PASSWORD=123456 --name saasdev-mysql --restart always -v /home/data/mysql:/var/lib/mysql --privileged=true -p 3308:3306 mysql:5.6

问题成功解决,容器正常启动了

 

一点解释:

--privileged=true

使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。

privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
甚至允许你在docker容器中启动docker容器

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐