《Docker容器常见故障的排查处理.docx》由会员分享,可在线阅读,更多相关《Docker容器常见故障的排查处理.docx(28页珍藏版)》请在第一文库网上搜索。
1、Docker容器常见故障的排查处理【导读】本文针对DoCker容器部署、维护过程中,产生的问题和故障,做出有针对性的说明和解决方案,希望可以帮助到大家去快速定位和解决类似问题故障。Docker是一种相对使用较简单的容器,我们可以通过以下几种方式获取信息:1通过dockerrun执行命令,或许返回信息2、通过docker1ogs去获取日志,做有针对性的筛选3、通过Systemct1statusdocker查看docker服务状态4、通过journa1ct1-udocker,service查看日志以下是整理的docker容器类问题故障,分为9个类一、启动类故障docker:Cannotconnec
2、ttotheDockerdaemonatunix:/var/run/docker.sock.Isthedockerdaemonrunning?原因:DOCker未正常启动解决方式:systemct1startdockercan*tcreateunixsocket/var/run/docker.sock:isadirectory原因:docker.sock不能创建解决方式:rm-rf/var/run/docker.sock然后重新启动docker3、Jobfordocker,servicefai1ed.Fai1edtostartDockerApp1ication原因:Se1inux引起解决方式:
3、etcsysconfigse1inux,把se1inux值改为disab1ed重启docker解决docker:Errorresponsefromdaemon:var1ibdockerover1ayXXXXXXXXXXXXXXXXXXXXXXX:nosuchfi1eordirectory.原因:docker没有指定目录或文件解决方式:systemct1stopdockerrm-rfvar1ibdocker*systemct1startdocker重启run镜像启动容器docker:Errorresponsefromdaemon:Conf1ict.Thecontainername,XXXr,is
4、a1readyinusebycontainermXXXm.Youhavetoremove(orrename)thatcontainertobeab1etoreusethatname.原因:dockername重名解决方式:改名容器或者删除重建容器Error:Connectionactivationfai1ed:Nosuitab1edevicefoundforthisconnection原因:网卡配置问题解决方式:重启网卡系统重启后docker无法启动报错为:dockerO:iptab1es:Nochain/target/matchbythatname原因:CIoCker服务iptab1es问题
5、解决方式:重启docker服务systemrestartdockerErrorstartingdaemon:errorinitia1izinggraphdriver:drivernotsupported使用over1ay2存储驱动启动dockerdaemon报错原因:daemon缺少配置解决方式:添加配置:etcdockerdaemon,jsonstorage-driver1,:,over1ay2n,nstorage-optsn:nover1ay2.override_kerne1_check=trueHFai1edtostartdocker,service:Unitdocker,service
6、ismasked.未知原因:docker被I1IaSk解决方式:systemct1unmaskdocker,serviceSystemct1unmaskdocker,socketsystemct1startdocker,serviceFai1edtostartdocker,service:Unitisnot1oadedproper1y:Inva1idargument.未知原因:docker服务无法正常IOad解决方式:卸载docker,删除docker,service重新安装dockerIkdocker-compose启动容器时报错:usr1ibpython2.7/site-packages/
7、requests/init.py:80:RequestsDependencyWarning:ur11ib3(1.22)orchardet(2.2.1)doesn,matchasupportedversion!RequestsDependencyWarning)未知原因:PiP相应组件版本不支持解决方式:pipuninsta11ur11ib3pipuninsta11chardetpipinsta11requests12、CIoCker容器重启故障强杀docker进程后,重启docker。docker中的容器无法启动并报错dockerrestartXXXXXXXErrorresponsefromd
8、aemon:CannotrestartcontainerXXXXXXX:containernXXXXXXXXXXXXXXXXn:a1readyexists原因:旧容器未安全退出解决方式:docker-containerd-ctr-addressrundockercontainerddocker-containerd.sock-namespacecrmdockerstart容器13、docker重启错误-重启命令一直卡住Systemct1restartdocker卡住未知原因:可能是启动的容器数量过多,或者磁盘IO问题解决方式:Systemct1startdocker-c1eanup,servi
9、cesystemct1startdocker二、权限问题报错GotpermissiondeniedwhiIetryingtoconnecttotheDockerdaemonsocketatUnix:/var/run/docker.sock解决方式:查看/var/run/docker.sock所在用户组将用户重新加入docker组中,usermod-aGdocker$USER15、 chownsocketatstepGROUP:Nosuchprocess原因:docker无法找到GrOUP组信息,docker组.有可能被误删除,解决方式:groupadddockerPosthttp:/var/r
10、un/docker.sock/v1.XXXauth:dia1unix/var/run/docker.sock:permissiondenied.AreyoutryingtoconnecttoaT1S-enab1eddaemonwithoutT1S?原因:非Root用户管理DOCker时,权限不足解决方式:groupadddockerusermod-a-Gdockeruserdockercommit镜像时报错Errorprocessingtarfi1e(exitstatus1):unexpectedEOF原因:可能是权限问题引起解决方式:chmod+x加一个执行权限三、镜像和仓库问题报错Geth
11、ttps:/registry-1,docker,iov2:dia1tcp:1ookupregistry-1.docker,io原因:Docker仓库无法访问解决方式:修改Docker仓库源为国内或者自建的仓库源gfcetc/docker/daemon,json19、推送本地镜像报错ThepushreferstoarepositoryXXXXGethttps:/xxx/v1/_ping:http:servergaveHTTPresponsetoHTTPSc1ient原因:dockerregistry未采用https服务所致解决方式:etcdockerdaemon.json文件写入:insecur
12、e-registries:1J20、/usrbindocker-current:Errorresponsefromdaemon:ociruntimeerror:container_1inux.go:startingcontainerprocesscaused,exec:,7binbashr,:executab1efi1enotfoundin$PATH.原因:Docker镜像自身问题或者Docker引擎版本比较低导致解决方式:可以升级Docker版本服务21、构建镜像,执行chown-R非常慢原因:DoCker使用写时复制策略,所以ChOWn命令执行时,会将上层镜像文件全部复制到当前层,然后再修
13、改权限,再写入文件系统。解决方式:不应该使用chown-R这类大批量修改文件的命令22、dockerbuiId构建镜像的时候报错:Messagefromsys1ogdkerne1:unregister_netdevice:waitingforIotobecomefree.Usagecount=1原因:dockerengine版本过高解决方式:dockerengine版本需要和docker内部镜像的内核版本匹配23、docker:Errorresponsefromdaemon:containerd:containerdidnotstartbeforethespecifiedtime-out.ER
14、RO0133errorgettingeventsfromdaemon:contextcance1ed原因:修改完dockerrootdir,重启后,下载镜像报错解决方式:重启docker服务或者重启服务器四、资源问题报错Dockernospace1eftondevice原因:空间不足解决方式:清理空间,删除未被使用的容器,镜像等资源dockersystemprune-avar1ibdocker/containers占用过大原因:日志文件占用过大解决方式:catdevnu11*-json.1og或者增加dockerd启动参数,etcdockerdaemon.json1og-driver:json
15、-f1e,Ft1.rrfWFtnZ1HrtIW1八W11og-opts:(max-size:2G,max-fi1e:10maxvirtua1memoryareasvm.max_map_count65530istoo1ow,increasetoat1east262144原因:系统参数默认配置过小解决方式:修改etcsysct1.conf里面的vm.max_map_count调大Gotstartingcontainerprocesscaused,process.Iinux.go:301:runningexecsetnsprocessforinitcausednexitstatus40nn:unknown.fromtimetotime原因:可能是cache问题引起解决方式:echo1/procsysvmdrop_caches29、docker本机启