您的位置:首頁技術文章
文章詳情頁

docker run -v 掛載數據卷異常,容器狀態一直是restarting的解決

瀏覽:41日期:2024-11-01 16:23:34
出現的問題:

docker run 加上 -v 參數之后,容器就一直是 restarting 狀態,去掉 -v 參數就可以正常運行

docker run -v 掛載數據卷異常,容器狀態一直是restarting的解決

查找問題:

使用 docker logs ’containerId’

這個containerId,就是docker run之后返回的containerId

docker run -v 掛載數據卷異常,容器狀態一直是restarting的解決

可以看到,是權限拒絕的問題

解決問題:

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的解決

一點解釋:

--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 -aCONTAINER ID IMAGECOMMAND CREATED STATUS PORTSNAMES46cdfc60b7a6 nginx'nginx -g ’daemon ...' About a minute ago Up 42 seconds 80/tcp n379d55a734c26 nginx'nginx -g ’daemon ...' About a minute ago Up 42 seconds 80/tcp n2f7b2206c019d nginx'nginx -g ’daemon ...' About a minute ago Up 46 seconds 80/tcp n1[root@localhost mnt]# docker container update --restart=always n1n1[root@localhost mnt]# systemctl restart docker [root@localhost mnt]# docker ps -aCONTAINER ID IMAGECOMMAND CREATED STATUS PORTSNAMES46cdfc60b7a6 nginx'nginx -g ’daemon ...' 2 minutes ago Exited (0) 5 seconds ago n379d55a734c26 nginx'nginx -g ’daemon ...' 2 minutes ago Exited (0) 5 seconds ago n2f7b2206c019d nginx'nginx -g ’daemon ...' 2 minutes ago Up 2 seconds80/tcp n1

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Docker
国产综合久久一区二区三区