docker run -v 挂载数据卷异常,容器状态一直是restarting的解决

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

出现的问题:

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

docker run -v 挂载数据卷异常,容器状态一直是restarting的解决插图

查找问题:

使用 docker logs containerId

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

docker run -v 挂载数据卷异常,容器状态一直是restarting的解决插图1

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

解决问题:

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

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

docker run -v 挂载数据卷异常,容器状态一直是restarting的解决插图2

一点解释:

–privileged=true

使用该参数,container内的root拥有真正的root权限。

否则,container内的root只是外部的一个普通用户权限。

privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。

甚至允许你在docker容器中启动docker容器

补充:docker –restart=always 参数 docker重启容器自动重启

创建容器时添加参数 –restart=always 后,当 docker 重启时,容器自动启动。

使用方法:

docker container update –restart=always 容器名字

操作实例如下:

[root@localhost mnt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 46cdfc60b7a6 nginx “nginx -g daemon …” About a minute ago Up 42 seconds 80/tcp n3 79d55a734c26 nginx “nginx -g daemon …” About a minute ago Up 42 seconds 80/tcp n2 f7b2206c019d nginx “nginx -g daemon …” About a minute ago Up 46 seconds 80/tcp n1 [root@localhost mnt]# docker container update –restart=always n1 n1 [root@localhost mnt]# systemctl restart docker [root@localhost mnt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 46cdfc60b7a6 nginx “nginx -g daemon …” 2 minutes ago Exited (0) 5 seconds ago n3 79d55a734c26 nginx “nginx -g daemon …” 2 minutes ago Exited (0) 5 seconds ago n2 f7b2206c019d nginx “nginx -g daemon …” 2 minutes ago Up 2 seconds 80/tcp n1

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容