docker run -v 掛載數(shù)據(jù)卷異常,容器狀態(tài)一直是restarting的解決
docker run 加上 -v 參數(shù)之后,容器就一直是 restarting 狀態(tài),去掉 -v 參數(shù)就可以正常運(yùn)行
使用 docker logs ’containerId’
這個(gè)containerId,就是docker run之后返回的containerId
可以看到,是權(quán)限拒絕的問題
解決問題:docker run時(shí)加上參數(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
問題成功解決,容器正常啟動(dòng)了
--privileged=true
使用該參數(shù),container內(nèi)的root擁有真正的root權(quán)限。
否則,container內(nèi)的root只是外部的一個(gè)普通用戶權(quán)限。
privileged啟動(dòng)的容器,可以看到很多host上的設(shè)備,并且可以執(zhí)行mount。
甚至允許你在docker容器中啟動(dòng)docker容器
補(bǔ)充:docker --restart=always 參數(shù) docker重啟容器自動(dòng)重啟
創(chuàng)建容器時(shí)添加參數(shù) --restart=always 后,當(dāng) docker 重啟時(shí),容器自動(dòng)啟動(dòng)。
使用方法: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
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
