docker run -v 掛載數(shù)據(jù)卷異常,容器狀態(tài)一直是restarting的解決
出現(xiàn)的問題:
docker run 加上 -v 參數(shù)之后,容器就一直是 restarting 狀態(tài),去掉 -v 參數(shù)就可以正常運行
查找問題:
使用 docker logs 'containerId'
這個containerId,就是docker run之后返回的containerId
可以看到,是權(quán)限拒絕的問題
解決問題:
docker run時加上參數(shù) :加上--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
使用該參數(shù),container內(nèi)的root擁有真正的root權(quán)限。
否則,container內(nèi)的root只是外部的一個普通用戶權(quán)限。
privileged啟動的容器,可以看到很多host上的設(shè)備,并且可以執(zhí)行mount。
甚至允許你在docker容器中啟動docker容器
補充:docker --restart=always 參數(shù) docker重啟容器自動重啟
創(chuàng)建容器時添加參數(shù) --restart=always 后,當(dāng) 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
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持本站。如有錯誤或未考慮完全的地方,望不吝賜教。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。