docker run -v 掛載數(shù)據(jù)卷異常,容器狀態(tài)一直是restarting的解決
docker run 加上 -v 參數(shù)之后,容器就一直是 restarting 狀態(tài),去掉 -v 參數(shù)就可以正常運(yùn)行
使用 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容器
補(bǔ)充:docker --restart=always 參數(shù) docker重啟容器自動重啟
創(chuàng)建容器時添加參數(shù) --restart=always 后,當(dāng) docker 重啟時,容器自動啟動。
使用方法:docker container update --restart=always 容器名字操作實(shí)例如下:
[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
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。
