配置docker镜像加速器 docker的镜像基本都在国外的服务器上,拉取镜像时很容易因为网络不稳定导致拉取速度很慢甚至失败。这里我配置下国内的阿里云镜像加速器,可以通过修改daemon配置文件etcdockerdaemon。json来使用加速器。登录阿里云获取专属的镜像加速器地址,daemon。json文件一般再在etcdocker目录下,如果没有则新建即可。 拉取helloworld镜像 docker提供了helloworld示例镜像,我们可以通过dockersearchhelloworld来查看。配置docker镜像加速器后我们来拉取一个helloworld镜像,通过命令:dockerpullhelloworld来拉取即可。 Docker拉取错误 这个是请求头超时异常,docker请求不到docker官网下载镜像。这个是DNS域名解析异常,我们需要配置下DNS来解决这个问题。Cenots通过安装bindutils可以获取Dig工具,Dig是用来查询DNS包括NS记录,A记录,MX记录等相关信息的工具。这里我们通过命令:yuminstallbindutils来安装bindutils,然后通过dig来获取docker的DNS信息,在执行结果中选择一组解析放到本机的etchosts文件里做映射。 如果配置了hosts映射还是无效,我们可以再配置下etcresolv。conf文件。etcresolv。conf是DNS的配置文件,用于设置DNS服务器的IP地址及DNS域名。用vim打开文件etcresolv。conf,新增谷歌的dns域名解析地址:nameserver8。8。4。4。保存之后重启下docker,再试试dockerpullhelloworld拉取。 查看docker镜像 docker镜像是一个文件系统(它没有状态也不会被改变),镜像可以启动复杂的软件供用户使用。通过命令:dockerimages或者dockerimagels可以列出本机已有的镜像,REPOSITORY资源仓库名,TAG指镜像的标签信息,IMAGEID:是镜像的ID(唯一的),CREATED:指镜像最后的更新时间,SIZE:指镜像的大小。 测试HelloWorld 拉取完helloworld镜像之后我们就可以来试运行下helloworld,执行命令:dockerrunhelloworld后Docker会先检查本地是否存在名字叫helloworld的镜像,若不存在则去dockerhub上下载该镜像,如果存在则将其挂载进容器并运行该容器实例。当看到HellofromDocker!则说明helloworld运行成功,执行dockerpsa命令后可以看到控制台显示了helloworld镜像的容器信息。 总结: 这里需要注意的就是docker官方镜像容易下载失败,所以最好配置下国内的镜像源。以上内容是小编给大家分享的【Docker实战003:运行helloWord并解决报错】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。 为了方便学习,下面附上本文用到的源码:mkdirpetcdockersudoteeetcdockerdaemon。jsonEOF{registrymirrors:〔https:xxxxxx。mirror。aliyuncs。com〕registrymirrors:〔https:registry。dockercn。com,http:hubmirror。c。163。com〕}EOFsystemctldaemonreloadsystemctlrestartdockerdockersearchhelloworldNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDhelloworldHelloWorld!(anexampleofminimalDockeriz1303〔OK〕省略dockerpullhelloworldUsingdefaulttag:latestlatest:Pullingfromlibraryhelloworld0e03bdcc26d7:PullcompleteDigest:sha256:4cf9c47f86df71d48364001ede3a4fcd85ae80ce02ebad74156906caff5378bcStatus:Downloadednewerimageforhelloworld:latestdocker。iolibraryhelloworld:latestdockerpullhelloworldUsingdefaulttag:latestErrorresponsefromdaemon:Gethttps:registry1。docker。iov2:nethttp:requestcanceledwhilewaitingforconnection(Client。Timeoutexceededwhileawaitingheaders)安装dig工具获取DNSyuminstallbindutilsdig114。114。114。114registry1。docker。DiG9。11。4P2RedHat9。11。416。P2。el78。6114。114。114。114registry1。docker。(1serverfound);;globaloptions:;Gotanswer:;;HEADERopcode:QUERY,status:NOERROR,id:45167;;flags:QUERY:1,ANSWER:8,AUTHORITY:0,ADDITIONAL:1;;OPTPSEUDOSECTION:;EDNS:version:0,flags:;udp:512;;QUESTIONSECTION:;registry1。docker。io。INA;;ANSWERSECTION:registry1。docker。io。41INA35。174。73。84registry1。docker。io。41INA52。4。20。24registry1。docker。io。41INA52。72。232。213registry1。docker。io。41INA3。218。162。19registry1。docker。io。41INA54。236。131。166registry1。docker。io。41INA52。54。232。21registry1。docker。io。41INA3。211。199。249registry1。docker。io。41INA52。5。11。128;;Querytime:53;SERVER:114。114。114。11453(114。114。114。114);;WHEN:四10月0121:59:03CST2020;;MSGSIZErcvd:177vietchosts35。174。73。84registry1。docker。iovimetcresolv。confGeneratedbyNetworkManagersearchlocaldomainnameserver192。168。1。2nameserver8。8。4。4nameserverlocaldomainsystemctlrestartdockerdockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEhelloworldlatestbf756fb1ae659monthsago13。3kBdockerimagelsREPOSITORYTAGIMAGEIDCREATEDSIZEhelloworldlatestbf756fb1ae659monthsago13。3kBdockerrunhelloworldHellofromDocker!Thismessageshowsthatyourinstallationappearstobeworkingcorrectly。Togeneratethismessage,Dockertookthefollowingsteps:1。TheDockerclientcontactedtheDockerdaemon。2。TheDockerdaemonpulledthehelloworldimagefromtheDockerHub。(amd64)3。TheDockerdaemoncreatedanewcontainerfromthatimagewhichrunstheexecutablethatproducestheoutputyouarecurrentlyreading。4。TheDockerdaemonstreamedthatoutputtotheDockerclient,whichsentittoyourterminal。Totrysomethingmoreambitious,youcanrunanUbuntucontainerwith:dockerrunitubuntubashShareimages,automateworkflows,andmorewithafreeDockerID:https:hub。docker。comFormoreexamplesandideas,visit:https:docs。docker。comgetstarted