纠纷奇闻社交美文家庭
投稿投诉
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

上篇docker基础玩转

11月3日 枯心人投稿
  使用容器的理由上线流程繁琐开发测试申请资源审批部署测试等环节资源利用率低普遍服务器利用率低,造成过多浪费扩容缩容不及时业务高峰期扩容流程繁琐,上线不及时服务器环境臃肿服务器越来越臃肿,对维护、迁移带来困难环境不一致性如开发环境和测试环境不一致,在测试的时候就因为环境问题而不能正确运行容器VS虚拟机容器容器提供一个基本的独立环境,实现容器隔离、资源限制主要解决应用层问题,应用快速部署、高效管理
  虚拟机提升服务器资源利用率提供一个完全隔离的环境
  实现容器的核心技术Namespace:LinuxNamespace是kernel的一个功能,它可以隔离一系列系统的资源,Namespace是Linux内核用来隔离内核资源的方式。Cgroup(ControlGroups):Cgroups是Linux内核提供的一种可以限制、记录、隔离进程组(processgroups)所使用的物理资源(如:cpu,memory,IO等等)的机制
  目前只需要知道:所谓的容器技术,是基于Linux操作系统的Namespace和Cgroup机制进行实现的Namespace主要用来做资源隔离,Cgroup主要用来做资源限制容器底层就是基于Namespace和Cgroup实现容器也只是一个进程而已
  关于Linux的Namespace和Cgroups后面会专门进行分享。docker是啥使用最广泛的开源容器引擎一种操作系统级的虚拟化技术依赖于Linux内核特性:Namespace(资源隔离)和Cgroups(资源限制)一个简单的应用程序打包工具docker的好处提供简单的应用程序打包工具开发人员和运维人员职责逻辑分离开发人员:开发项目、打包项目环境代码成镜像、部署到容器平台运维人员:怎么高效的去管理这些容器带来的好处:运维人员结节省人工成本、持续发布有问题更好解决多环境保持一致性:开发环境、测试环境、预发布环境、生产环境docker的应用场景应用程序打包和发布应用程序隔离持续集成部署微服务快速搭建测试环境提供PaaS产品(平台即服务)docker的组成
  三大组成分别是镜像、容器、仓库,通过docker的命令可以对docker的对象进行管理、对象有:容器、镜像、网络等。在centos7上安装dockerce(社区版)安装所需的系统工具sudoyuminstallyyumutilsdevicemapperpersistentdatalvm2添加软件源信息yumconfigmanageraddrepohttps:mirrors。aliyun。comdockercelinuxcentosdockerce。reposedisdownload。docker。commirrors。aliyun。comdockerceetcyum。repos。ddockerce。repo更新并安装DockerCEyummakecachefastyumyinstalldockerce启动Docker服务systemctlstartdockerdocker镜像一个分层存储的文件、不是一个单一的文件一个软件的环境一个镜像可以创建N个容器一种标准化的交付一个不包含Linux内核而又精简的Linux操作系统
  配置镜像加速器(指向国内的阿里云镜像仓库)配置catetcdockerdaemon。jsonEOF{registrymirrors:〔https:b9pmyelo。mirror。aliyuncs。com〕}EOF重启dockersystemctlrestartdocker常用命令dockerpull拉取镜像dockerpush提交镜像dockerimages(或:dockerimagels)查看镜像dockerrun启动容器dockerprune删除不再使用的docker对象dockerinspect查看容器详情信息dockerbuild使用Dockerfile创建镜像dockersave导出镜像dockerload导入镜像dockerrm删除容器dockertag修改镜像的tagdockerstop停止容器dockerstart启动容器dockerrestart重启容器dockertop查看容器中运行的进程信息dockerexec在运行的容器中执行命令dockercp在容器和主机之间进行数据拷贝dockerlogs查看容器的ahrefhttps:www。bs178。comrizhitargetblankclassinfotextkey日志adockerstats显示容器资源的使用情况,包括:CPU、内存、网络IO等dockerport列出指定容器的端口映射dockercommit从容器创建一个新的镜像基础实战
  1、拉取镜像〔roottestadocker01〕〔roottestadocker01〕dockerpullnginxUsingdefaulttag:latestlatest:Pullingfromlibrarynginxa2abf6c4d29d:Pullcompletea9edb18cadd1:Pullcomplete589b7251471a:Pullcomplete186b1aaa4aa6:Pullcompleteb4df32aa5a72:Pullcompletea0bcbecc962e:PullcompleteDigest:sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31Status:Downloadednewerimagefornginx:latestdocker。iolibrarynginx:latest〔roottestadocker01〕dockerpullcentosUsingdefaulttag:latestlatest:Pullingfromlibrarycentosa1d0c7532777:PullcompleteDigest:sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177Status:Downloadednewerimageforcentos:latestdocker。iolibrarycentos:latest〔roottestadocker01〕
  2、查看镜像〔roottestadocker01〕dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEnginxlatest605c77e624dd10monthsago141MBcentoslatest5d0da3dc976414monthsago231MB〔roottestadocker01〕dockerimagelsREPOSITORYTAGIMAGEIDCREATEDSIZEnginxlatest605c77e624dd10monthsago141MBcentoslatest5d0da3dc976414monthsago231MB〔roottestadocker01〕
  3、删除镜像〔roottestadocker01〕dockerimagermnginxUntagged:nginx:latestUntagged:nginxsha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31Deleted:sha256:605c77e624ddb75e6110f997c58876baa13f8754486b461117934b24a9dc3a85Deleted:sha256:b625d8e29573fa369e799ca7c5df8b7a902126d2b7cbeb390af59e4b9e1210c5Deleted:sha256:7850d382fb05e393e211067c5ca0aada2111fcbe550a90fed04d1c634bd31a14Deleted:sha256:02b80ac2055edd757a996c3d554e6a8906fd3521e14d1227440afd5163a5f1c4Deleted:sha256:b92aa5824592ecb46e6d169f8e694a99150ccef01a2aabea7b9c02356cdabe7cDeleted:sha256:780238f18c540007376dd5e904f583896a69fe620876cabc06977a3af4ba4fb5Deleted:sha256:2edcec3590a4ec7f40cf0743c15d78fb39d8326bc029073b41ef9727da6c851f〔roottestadocker01〕dockerimagermcentosUntagged:centos:latestUntagged:centossha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177Deleted:sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6Deleted:sha256:74ddd0ec08fa43d09f32636ba91a0a3053b02cb4627c35051aff89f853606b59〔roottestadocker01〕〔roottestadocker01〕dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZE〔roottestadocker01〕更简洁的删除方式dockerrmicentos
  4、启动容器〔roottestadocker01〕dockerrundp8080:80nameweb01hweb01nginxae5110bcb33626780b009d8d5ca11e3e217f767974d16f4e8d249755298bc927
  5、查看容器〔roottestadocker01〕dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESae5110bcb336nginxdockerentrypoint。4secondsagoUp4seconds0。0。0。0:808080tcp,:::808080tcpweb01〔roottestadocker01〕
  6、停止容器〔roottestadocker01〕dockerstopweb01web01
  7、查看停止后的容器〔roottestadocker01〕dockerpsaCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESae5110bcb336nginxdockerentrypoint。5minutesagoExited(0)15secondsagoweb01〔roottestadocker01〕
  8、启动容器〔roottestadocker01〕dockerstartweb01web01
  9、重启容器〔roottestadocker01〕dockerrestartweb01web01
  10、进入容器〔roottestadocker01〕dockerexecitweb01bashrootweb01:lsbinbootdevdockerentrypoint。ddockerentrypoint。shetchomeliblib64mediamntoptprocrootrunsbinsrvsystmpusrvarrootweb01:exit(退出容器)exit〔roottestadocker01〕
  11、删除所有未被tag标记的镜像〔roottestadocker01〕dockerimagepruneWARNING!Thiswillremovealldanglingimages。Areyousureyouwanttocontinue?〔yN〕yTotalreclaimedspace:0B〔roottestadocker01〕
  12、删除所有未被容器使用的镜像〔roottestadocker01〕dockerimagepruneaWARNING!Thiswillremoveallimageswithoutatleastonecontainerassociatedtothem。Areyousureyouwanttocontinue?〔yN〕yDeletedImages:untagged:centos:latestuntagged:centossha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177deleted:sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6deleted:sha256:74ddd0ec08fa43d09f32636ba91a0a3053b02cb4627c35051aff89f853606b59Totalreclaimedspace:231。3MB〔roottestadocker01〕
  13、prune命令不再使用的docker对象更多例子删除所有停止运行的容器dockercontainerprune删除所有未被挂载的卷dockervolumeprune删除所有网络dockernetworkprune删除docker所有资源dockersystemprune
  14、查看容器详情〔roottestadocker01〕dockerinspectweb01〔{Id:ae5110bcb33626780b009d8d5ca11e3e217f767974d16f4e8d249755298bc927,Created:20221116T09:13:46。156778931Z,Path:dockerentrypoint。sh,Args:〔nginx,g,〕,State:{Status:running,Running:true,Paused:false,。。。。。。
  15、修改镜像的tag(标签)〔roottestadocker01〕dockertagnginx:latestnginx:v1〔roottestadocker01〕dockertagnginx:latestnginx:v2〔roottestadocker01〕dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEnginxlatest605c77e624dd10monthsago141MBnginxv1605c77e624dd10monthsago141MBnginxv2605c77e624dd10monthsago141MBcentoslatest5d0da3dc976414monthsago231MB
  16、导出(保存)镜像方式1:重定向的方式〔roottestadocker01〕dockersavenginx:v1nginxv1。tar方式2:使用o参数〔roottestadocker01〕dockersaveonginxv2。tarnginx:v2〔roottestadocker01〕lsanacondaks。cfgnginxv1。tarnginxv2。tar〔roottestadocker01〕
  17、导入镜像先删除〔roottestadocker01〕dockerrminginx:v1nginx:v2Untagged:nginx:v1Untagged:nginx:v2再次查看〔roottestadocker01〕dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEnginxlatest605c77e624dd10monthsago141MBcentoslatest5d0da3dc976414monthsago231MB导入方式1:重定向的方式〔roottestadocker01〕dockerloadnginxv1。tarLoadedimage:nginx:v1导入方式2:使用i参数〔roottestadocker01〕dockerloadinginxv2。tarLoadedimage:nginx:v2导入后查看〔roottestadocker01〕dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEnginxlatest605c77e624dd10monthsago141MBnginxv1605c77e624dd10monthsago141MBnginxv2605c77e624dd10monthsago141MBcentoslatest5d0da3dc976414monthsago231MB〔roottestadocker01〕
  18、查看容器中运行的进程信息〔roottestadocker01〕dockertopweb01UIDPIDPPIDCSTIMETTYTIMECMDroot1830718288017:22?00:00:00nginx:1011834918307017:22?00:00:00nginx:workerprocess〔roottestadocker01〕
  19、在运行的容器中执行命令不进入容器执行命令〔roottestadocker01〕dockerexecweb01catetchosts127。0。0。1localhost::1localhostip6localhostip6loopbackfe00::0ip6localnetff00::0ip6mcastprefixff02::1ip6allnodesff02::2ip6allrouters172。17。0。2web01〔roottestadocker01〕进入容器执行命令〔roottestadocker01〕dockerexecitweb01bashrootweb01:catetchosts127。0。0。1localhost::1localhostip6localhostip6loopbackfe00::0ip6localnetff00::0ip6mcastprefixff02::1ip6allnodesff02::2ip6allrouters172。17。0。2web01rootweb01:
  20、容器与主机之间的数据拷贝宿主机当前目录下的123。txt文件拷贝到容器里的tmp目录下〔roottestadocker01〕touch123。txt〔roottestadocker01〕echohello123。txt〔roottestadocker01〕cat123。txthello〔roottestadocker01〕dockercp。123。txtweb01:tmp〔roottestadocker01〕dockerexecweb01lstmp123。txt将主机mydir目录拷贝到容器web01中的tmp目录下,并将将其目录重命名为mydir01〔roottestadocker01〕mv123。txtmydir〔roottestadocker01〕dockercp。mydirweb01:tmpmydir01〔roottestadocker01〕dockerexecweb01lstmp123。txtmydir01〔roottestadocker01〕将容器web01里的etcnginxnginx。conf文件拷贝的宿主机的当前目录下〔roottestadocker01〕dockercpweb01:etcnginxnginx。conf。
  20、查看容器的日志dockerlogs命令的参数f:跟踪日志输出since:显示某个开始时间的所有日志t:显示时间戳tail:仅列出最新N条容器日志跟踪查看容器web01的ahrefhttps:www。bs178。comrizhitargetblankclassinfotextkey日志a输出〔roottestadocker01〕dockerlogsfweb01dockerentrypoint。sh:dockerentrypoint。disnotempty,willattempttoperformconfigurationdockerentrypoint。sh:Lookingforshellscriptsindockerentrypoint。ddockerentrypoint。sh:Launchingdockerentrypoint。d10listenonipv6bydefault。sh10listenonipv6bydefault。sh:info:Gettingthechecksumofetcnginxconf。ddefault。conf10listenonipv6bydefault。sh:info:EnabledlistenonIPv6inetcnginxconf。ddefault。confdockerentrypoint。sh:Launchingdockerentrypoint。d20envsubstontemplates。shdockerentrypoint。sh:Launchingdockerentrypoint。d30tuneworkerprocesses。shdockerentrypoint。sh:Creadyforstartup2022111609:13:46〔notice〕11:usingtheepolleventmethod2022111609:13:46〔notice〕11:nginx1。21。52022111609:13:46〔notice〕11:builtbygcc10。2。120210110(Debian10。2。16)2022111609:13:46〔notice〕11:OS:Linux3。10。01160。76。1。el7。x8664。。。。。。查看容器web01从2022年11月16日后的最新10条ahrefhttps:www。bs178。comrizhitargetblankclassinfotextkey日志a〔roottestadocker01〕dockerlogssince20221116tail10web01dockerentrypoint。sh:Launchingdockerentrypoint。d20envsubstontemplates。shdockerentrypoint。sh:Launchingdockerentrypoint。d30tuneworkerprocesses。shdockerentrypoint。sh:Creadyforstartup2022111609:22:06〔notice〕11:usingtheepolleventmethod2022111609:22:06〔notice〕11:nginx1。21。52022111609:22:06〔notice〕11:builtbygcc10。2。120210110(Debian10。2。16)2022111609:22:06〔notice〕11:OS:Linux3。10。01160。76。1。el7。x86642022111609:22:06〔notice〕11:getrlimit(RLIMITNOFILE):1048576:10485762022111609:22:06〔notice〕11:startworkerprocesses2022111609:22:06〔notice〕11:startworkerprocess24〔roottestadocker01〕
  22、显示容器资源的使用情况,包括:CPU、内存、网络IO等。help可查看到更多的选项〔roottestadocker01〕dockerstatshelpUsage:dockerstats〔OPTIONS〕〔CONTAINER。。。〕Displayalivestreamofcontainer(s)resourceusagestatisticsOptions:a,allShowallcontainers(defaultshowsjustrunning)formatstringPrettyprintimagesusingaGotemplatenostreamDisablestreamingstatsandonlypullthefirstresultnotruncDonottruncateoutput〔roottestadocker01〕查看web01容器的运行信息〔roottestadocker01〕dockerstatsweb01CONTAINERIDNAMECPUMEMUSAGELIMITMEMNETIOBLOCKIOPIDSae5110bcb336web010。001。406MiB3。682GiB0。04850B192B0B0B2CONTAINERIDNAMECPUMEMUSAGELIMITMEMNETIOBLOCKIOPIDSae5110bcb336web010。001。406MiB3。682GiB0。04850B192B0B0B2CONTAINERIDNAMECPUMEMUSAGELIMITMEMNETIOBLOCKIOPIDSae5110bcb336web010。001。406MiB3。682GiB0。04850B192B0B0B2CONTAINERIDNAMECPUMEMUSAGELIMITMEMNETIOBLOCKIOPIDSae5110bcb336web010。001。406MiB3。682GiB0。04850B192B0B0B2CONTAINERIDNAMECPUMEMUSAGELIMITMEMNETIOBLOCKIOPIDSae5110bcb336web010。001。406MiB3。682GiB0。04850B192B0B0B2C〔roottestadocker01〕以json的格式输出〔roottestadocker01〕dockerstatsweb01nostreamformat{{json。}}{BlockIO:0B0B,CPUPerc:0。00,Container:web01,ID:ae5110bcb336,MemPerc:0。04,MemUsage:1。406MiB3。682GiB,Name:web01,NetIO:850B192B,PIDs:2}〔roottestadocker01〕
  23、列出指定端口的映射〔roottestadocker01〕dockerportweb0180tcp0。0。0。0:808080tcp:::8080〔roottestadocker01〕
  上篇分享到此结束,搭建私有镜像仓库和制作镜像下篇继续分享,期待关注。
  喜欢的盆友们关注我们:https:mp。weixin。qq。comsYpuOwZvejO9Nke8ak5dtdw
投诉 评论 转载

假若一辈子不吸烟不喝酒,会不会活得更久?一项调查给出答案影响身体健康的因素都有哪些?每个人都能说出不同的答案,但是其中肯定都有吸烟和喝酒,我们都知道抽烟喝酒是有害的,会对身体健康带来很大影响。虽然很多人都心中有数,但仍有人不以……安全老兵再战江湖文谢泽锋编辑杨旭然严监管和资本退潮的背景下,互联网正变得无趣,甚至平庸且缺少激情。和烈火烹油繁花似锦的新能源相比,互联网激情燃烧的岁月渐去渐远。5年前,圈内响……从长治到新疆(自驾),第三天甘肃张掖新疆哈密行程安排行程1:从长治到新疆(自驾),第三天:甘肃张掖新疆哈密【出发时间】20169【旅行周期】1630天【人均费用】500010000畅游新疆,饱览祖……见证美味的诞生,TOKIT厨几智能烤箱何止颜值担当烤箱一直是备受欢迎的厨房小家电,无论是精通厨艺的大神、还是厨房小白,烤箱的存在总能让不少美食来得更加简单容易些。随着科技的不断发展,烤箱也插上了智能化的翅膀。不过普通的智能烤箱……地球过去出现过两次大氧化事件,现在氧气突然增加,会发生什么呢地球距今已经有超过46亿年的历史了,从诞生之初,到后来出现生命,经历过很多次的变迁。在过去的这些年里面,曾经出现过两次大氧化事件,对于地球的环境产生非常大的影响。所以有人……最适合送人的4款酒,包装有面子,口感也不错1、青花郎(酱香)129953度500ml产地:古蔺县酒香醇厚,入口顺滑2、梦之蓝M6(浓香)82952度500ml产地:宿迁酒香协调丰富、口感醇香柔顺、喝下……上篇docker基础玩转使用容器的理由上线流程繁琐开发测试申请资源审批部署测试等环节资源利用率低普遍服务器利用率低,造成过多浪费扩容缩容不及时业务高峰期扩容流程繁琐,上线不及时服务器环境臃肿服务器越来……黄河三峽(原创)文字编辑制作:李义所小浪底黄河三峡景区位于河南省洛阳市孟津县、济源市边界,地跨黄河南北两岸。小浪底黄河三峡景区总面积1262平方公里(其中水面296平方公里),峡谷……浙西南环游,千年古镇游埠,老街名人和神奇的兰溪小吃浙西南环游的最后一站,金华兰溪诸葛村很多年前去过,就直接奔了游埠老街杭州有家开了20年的游埠豆浆,老板是兰溪游埠镇人,自从喝过一碗他们家的咸豆浆,之前不爱咸浆的人对……一起向未来在头条看见彼此进驻头条四年了,见证了世界的变化,祖国的发展,社会的进步,人情冷暖。特别是看到了形形色色的人,纷繁复杂的信息,有的让人感到幸福,有的徒增焦虑,关键是要有一颗……曝华为P60系列影像升级,搭载骁龙处理器上个月,华为Mate50系列正式发布。随着华为Mate50系列的上市,不少用户开始关注旗下其他新品的消息了。不久前,华为官网上架了新款华为P50系列。新款华为P50系列的……38岁CBA传奇外援被弃用,独占得分榜三分榜,或被辽宁退役球一个好的外援对一支球队来讲非常关键,首钢正是因为马布里的到来才建立了王朝,而广东这几年的三连冠也离不开威姆斯的发挥,至于拿到总冠军的四川来讲,如果不是三位外援给力,他们不可能染……
微信必须要关闭的4个设置凌晨2点!国米做出争议决定梅西姆巴佩很意外,球迷骂声一片原神新的旅程开启,时隔数月原人玩家终于抵达稻妻穿戴中国智能手表市场谁卖得好?华为第一小米第四ChatGPT开发者OpenAI太势头猛,雇佣了大量前Goo海南论道丨中兴通讯施军视频算力网络,使能全场景视频应用立秋之后,疏通身体的时节到了,记得做好这3件事,补足你的气血故乡山川冯爱霞莒地黄酒味悠长中邮发布5G手机,Hinova9搭载高通骁龙778G处理器,我最爱的家人傅晶45了还那么美,演得也好,但被烂剧本给坑了情侣房中的贵妃椅有啥功能?酒店人员给出解答藏在河北的景点,是国家4A级景区,被称小黄山却少有人知

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形