出现的问题:
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容器