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

快速掌握DockerDockerfileDockerComp

5月5日 碧落盟投稿
  一、Dockerfile的构建
  1、指定镜像
  采用FROM指令:FROM指定镜像名称
  2、设置标签信息
  对镜像进行备注说明:LABELmanageradminlabel1dockerbuild1lable2dockerbuild2
  3、运行命令
  容器运行后,执行的指令RUNechodockerbuildrun。
  4、容器启动指令CMDsleep6;echostartsuccess
  5、Dockerfile的编写示例Dockerfile使用的镜像FROMalpine镜像标签配置LABELmanageradminlabel1dockerbuild1lable2dockerbuild2运行的指令RUNechodockerbuildrun。容器启动后的执行命令CMDsleep6;echostartsuccess
  Dockerfile主要分为四部分:镜像信息、维护信息、操作指令、启动时执行指令。
  CMD与ENTRYPOINT的差异:1。CMD指令指定的容器启动时命令可以被dockerrun指定的命令覆盖,而ENTRYPOINT指令指定的命令不能被覆盖,而是将dockerrun指定的参数当做ENTRYPOINT指定命令的参数;例:CMD〔ls,a〕dockerrunxxxl会替换为l执行,会报错。2。CMD指令可以为ENTRYPOINT指令设置默认参数,而且可以被dockerrun指定的参数覆盖;例:ENTRYPOINT〔ls,a〕dockerrunxxxl会拼接为lsal执行。
  如果运行JAVA程序,增加ENTRYPOINT:ENTRYPOINT〔sh,c,javaDjava。security。egdfile:dev。urandomJAVAOPTSjarapp。jarPARAMS〕运行命令dockerruneJAVAOPTSXmx512mXms33ePARAMSspring。profilesdevserver。port8080jarappapp。jar
  6、运行容器dockerrunnametest1itdockerfile:test1
  7、镜像的存储
  查看镜像信息:dockerimageinspectmywizard:0。1
  存储目录结构:GraphDriver:{Data:{LowerDir:varlibdockeroverlay2b7e19d896235074801e65678900f1eb9e3d42a15961e1c5776e821a48c508602diff:varlibdockeroverlay294c244b15f5d5290dc48ea41fe90e30292169c1ad1316b4b4508a26043a03889diff:varlibdockeroverlay251e4f5054f8035f78df429174458d3511c75086bacd9bc22727ba3b4bdf1ee17diff:varlibdockeroverlay2fe000be05464f9548d95b24c0773ec5fbefd9f18bc6b393d2fe2731e9bd5b929diff:varlibdockeroverlay2d257f693e8aa47470bb2a0ea82fcc833d5560e3b471cb008b8d00ff29979e90cdiff:varlibdockeroverlay23648999483d13c18d34f00d90d843b3aca2abfdc946180730593fecb8585c673diff:varlibdockeroverlay23f469b0f602b3f8bf2d85a867652cb045c86bb44da93599a440c6af66c8c4702diff:varlibdockeroverlay274114f4a8911f8bee5a793d16b9e66417033aaa3b2763920fd4e7203f2a83aebdiff:varlibdockeroverlay27fe7e08fc852d57d1cdf3d8ffce3969da42af3f7c82f01b06501364f86cd615cdiff:varlibdockeroverlay2b59d29226dd54f956383976ee17c2098e351fe73ec27794e35740a4af0467a19diff:varlibdockeroverlay283054ea9dfefb4e0f666a640f82476be7b6ee2f0e050b9afc486a7eef755a0f1diff:varlibdockeroverlay2298e882043803bbafefbbcdd98cdc78df14f4bfa789867be918c60291d1b2ba4diff:varlibdockeroverlay22eed01572ca6f1212afceff327c71b4d6bb92033b17ce7ec1476d72afed7b194diff:varlibdockeroverlay23284164b93f7945defcbb61bb7eb0d78989b69acd0f20acb2a04b3ac9f6478f1diff:varlibdockeroverlay22927eeb30fe0e11cb65dd08a196b9f63e9fd5f6e689aa2e71c58be47d043bef9diff:varlibdockeroverlay292a64758e128809c3d6a5ce4bda56f231d969c9915cdc6891031dfaa13c5bf40diff:varlibdockeroverlay2ad0138bb13e3a6549a967a03be1338680fa79d65f77df0a24e3e3905fa31bb49diff:varlibdockeroverlay23dd833c5349e77df38958ab59080311227c84dffd9e85d476d137ad5404a8417diff:varlibdockeroverlay219b0730a578cbdf1bde44a7c0296c6dcff39d46154435370231e0b090f2989f8diff:varlibdockeroverlay2a4b2e0843b03de43dec536f958cb46072c8b5f33bc4cc2429eb92e098d6c3869diff:varlibdockeroverlay2e659df56cceb80589bfd6d68df3ef703773450158f4f682f5c2b3ac05308264ddiff:varlibdockeroverlay22e950590bd3aff9d24c436e45a8f53afbc6a5dec7c3cf86223473fa6953dffdadiff:varlibdockeroverlay2f82ab6a6e0611a78a95611d281245b2c2edfaa273d29d88de989b081f79651bbdiff:varlibdockeroverlay2c0c628c8cdf5641f1642eff0f42a5f12ab178cb596e6bce7a86efe725a7da333diff:varlibdockeroverlay21041b58a07cfbf956c4a2a2ff2adc93ef1e3f85813dab0bac069452837c5f9fadiff:varlibdockeroverlay20247958590c10ef1c20789c2131413b668357348af09955ac8f118b8723d7f5fdiff:varlibdockeroverlay2a8896150c3e359092e2e6d62b755c440e13ee4f8db990135800e0ef46d7894c1diff,MergedDir:varlibdockeroverlay266e9b11cf699cbdc26eac8dfd363274ac0cf601804ae79999c31265899204d4amerged,UpperDir:varlibdockeroverlay266e9b11cf699cbdc26eac8dfd363274ac0cf601804ae79999c31265899204d4adiff,WorkDir:varlibdockeroverlay266e9b11cf699cbdc26eac8dfd363274ac0cf601804ae79999c31265899204d4awork},Name:overlay2},二、DockerCompose的使用
  1、安装DockerCompose
  进入https:github。comdockercomposereleases检索docker引擎所对应的版本:
  2、执行安装:curlSLhttps:github。comdockercomposereleasesdownload1。29。0dockercomposelinuxx8664ousrlocalbindockercomposesudochmodxusrlocalbindockercompose
  3、创建一个python应用脚本
  app。pyimporttimeimportredisfromflaskimportFlaskappFlask(name)cacheredis。Redis(hostredis,port6379)defgethitcount():retries5whileTrue:try:returncache。incr(hits)exceptredis。exceptions。ConnectionErrorasexc:ifretries0:raiseexcretries1time。sleep(0。5)app。route()defhello():countgethitcount()returnHelloWorld!Ihavebeenseen{}times。。format(count)
  创建依赖信息文件:
  requirements。txtflaskredis
  4、创建Dockerfile文件syntaxdockerdockerfile:1FROMpython:3。7alpineWORKDIRcodeENVFLASKAPPapp。pyENVFLASKRUNHOST0。0。0。0RUNapkaddnocachegccmusldevlinuxheadersCOPYrequirements。txtrequirements。txtRUNpipinstallrrequirements。txtEXPOSE5000COPY。。CMD〔flask,run〕
  5、执行构建
  创建名称为web的镜像dockerbuildtweb。
  6、创建dockercompose配置文件version:3。9指定版本号;查看文档https:docs。docker。comcomposecomposefileservices:所有需要启动的服务web:第一个服务的名字build:可手动执行创建镜像:dockerbuildtxxxfDockerfile。dockerfile:Dockerfilecontext:。image:hello:pyports:指定启动容器暴露的端口5000:5000redis:第二个服务的名字image:redis:alpine
  7、启动执行:
  通过命令启动:dockercomposeup
  加上d参数,以后台方式启动。〔rootlocalhostcomposetest〕dockercomposeupStartingcomposetestweb1。。。doneStartingcomposetestredis1。。。doneAttachingtocomposetestredis1,composetestweb1redis11:C04Nov202217:19:23。281oO0OoO0OoO0OoRedisisstartingoO0OoO0OoO0Ooredis11:C04Nov202217:19:23。281Redisversion7。0。5,bits64,commit00000000,modified0,pid1,juststartedredis11:C04Nov202217:19:23。281Warning:noconfigfilespecified,usingthedefaultconfig。Inordertospecifyaconfigfileuseredisserverpathtoredis。confredis11:M04Nov202217:19:23。281monotonicclock:POSIXclockgettimeredis11:M04Nov202217:19:23。282Runningmodestandalone,port6379。redis11:M04Nov202217:19:23。282WARNING:TheTCPbacklogsettingof511cannotbeenforcedbecauseprocsysnetcoresomaxconnissettothelowervalueof128。redis11:M04Nov202217:19:23。282Serverinitializedredis11:M04Nov202217:19:23。282WARNINGovercommitmemoryissetto0!Backgroundsavemayfailunderlowmemorycondition。Tofixthisissueaddvm。overcommitmemory1toetcsysctl。confandthenrebootorrunthecommandsysctlvm。overcommitmemory1forthistotakeeffect。redis11:M04Nov202217:19:23。282LoadingRDBproducedbyversion7。0。5redis11:M04Nov202217:19:23。282RDBage605secondsredis11:M04Nov202217:19:23。282RDBmemoryusagewhencreated0。82Mbredis11:M04Nov202217:19:23。282DoneloadingRDB,keysloaded:1,keysexpired:0。redis11:M04Nov202217:19:23。282DBloadedfromdisk:0。000secondsredis11:M04Nov202217:19:23。282Readytoacceptconnectionsweb1ServingFlaskappapp。pyweb1Debugmode:offweb1WARNING:Thisisadevelopmentserver。Donotuseitinaproductiondeployment。UseaproductionWSGIserverinstead。web1Runningonalladdresses(0。0。0。0)web1Runningonhttp:127。0。0。1:5000web1Runningonhttp:172。18。0。3:5000web1PressCTRLCtoquit
  8、验证访问:〔rootlocalhostbin〕curlhttp:127。0。0。1:5000HelloWorld!Ihavebeenseen4times。〔rootlocalhostbin〕curlhttp:172。18。0。3:5000HelloWorld!Ihavebeenseen5times。
  9、停止服务〔rootlocalhostcomposetest〕dockercomposestopredisStoppingcomposetestredis1。。。done〔rootlocalhostcomposetest〕dockercomposestopwebStoppingcomposetestweb1。。。done
  这里的服务名字与dockercompose配置文件中的名称对应。三、DockerSwarm集群模式
  1、创建Dockerfile
  创建一个需要采用集群模式部署的Dockerfile:version:3。7services:app:定义应用程序的容器image:node:12alpinecommand:shcyarninstallyarnrundevports:3000:3000workingdir:appvolumes:。:appenvironment:MYSQLHOST:mysqlMYSQLUSER:rootMYSQLPASSWORD:secretMYSQLDB:todosnetworks:加入application和databases两个网络applicationdatabasesdeploy:安装dockerswarmreplicas:6指定副本:部署到加入swarm集群的不同的节点(负载均衡高可用)mysql:定义mysql数据库的容器image:mysql:5。7volumes:mysqldata:varlibmysqlenvironment:MYSQLROOTPASSWORD:secretMYSQLDATABASE:todosnetworks:这个服务加入hello自定义网络databasesdeploy:安装dockerswarmreplicas:6指定副本:处于不同的服务器(负载均衡高可用)redis:定义redis缓存的容器image:redisnetworks:application定义全局的配置信息,包括volumes与networksvolumes:mysqldata:networks:application:databases:
  2、集群初始化
  主节点进行初始化:〔rootlocalhost〕dockerswarminitSwarminitialized:currentnode(oyje6kmyqnot8fop89msrs1wf)isnowamanager。Toaddaworkertothisswarm,runthefollowingcommand:dockerswarmjointokenSWMTKN11iq2u7f21fty2wyih2xh6j8jzb87uiwi2gpqclg77ykii642kzbupmi5rixs4a7zaho7i8o8kjf10。10。20。15:2377Toaddamanagertothisswarm,rundockerswarmjointokenmanagerandfollowtheinstructions。〔rootlocalhost〕
  其他节点加入执行:dockerswarmjointokenSWMTKN11iq2u7f21fty2wyih2xh6j8jzb87uiwi2gpqclg77ykii642kzbupmi5rixs4a7zaho7i8o8kjf10。10。20。15:2377
  3、多个主节点的加入配置(高可用)
  在集群主节点执行:〔rootlocalhost〕dockerswarmjointokenmanagerToaddamanagertothisswarm,runthefollowingcommand:dockerswarmjointokenSWMTKN11iq2u7f21fty2wyih2xh6j8jzb87uiwi2gpqclg77ykii642kz1dturcr1g93eak84d2jlvfbop10。10。20。15:2377
  在其他集群主节点执行dockerswarmjointokenSWMTKN11iq2u7f21fty2wyih2xh6j8jzb87uiwi2gpqclg77ykii642kz1dturcr1g93eak84d2jlvfbop10。10。20。15:2377
投诉 评论

快速掌握DockerDockerfileDockerComp一、Dockerfile的构建1、指定镜像采用FROM指令:FROM指定镜像名称2、设置标签信息对镜像进行备注说明:LABELmanageradminl……湖南高速客车自燃怎么回事详情始末真相令人心酸湖南高速客车自燃怎么回事?湖南高速客车自燃事故引起大家的关注,由于死亡人数惨烈,所以大家都关心受伤人员现在怎么样了,一起来看看!湖南高速客车自燃怎么回事据悉,3月2……传化智联徐冠巨红顶商人的物流棋局1月10日,传化智联发布公告,宣布原董事长徐冠巨因工作调整申请辞去公司第七届董事会董事长及董事会战略委员会召集人职务。徐冠巨带领传化智联,从化工制造商一路走到综合性物流平……CBA季前赛杰曼26分青岛击败深圳直播吧10月8日讯CBA季前赛,青岛男篮对阵深圳男篮,双方鏖战四节,最终青岛8377击败深圳。比赛开始,青岛率先进入状态,首节领先深圳四分,次节上来两队你来我往,半场战罢……世界上最后一只麒麟是真的吗(只存在于传说中)世界上最后一只麒麟是真的吗?答案肯定不是真的。须知,麒麟是从古代就有传说的存在,而自古就有不少探究麒麟是否真的的存在的例子,其实,麒麟是并不存在的,所谓的世界上最后一只麒麟也只……世界上最令人脸红的吉尼斯纪录13项吉尼斯目定口呆了不看不知道一看吓一跳,你永远也想不到我们这个世界到底有多么疯狂,世界上最令人脸红的吉尼斯纪录,确实是会令人脸红,但这也确实是真实的吉尼斯纪录,综合精选12项吉尼斯目定口呆了!一……6月24日NBA18条交易动态大汇总,篮网队三人或申请交易北京时间6月24日,今天是NBA选秀大会,让我们来看看在选秀大会前夕有哪些交易动态传出吧!1。Woj:选秀前三顺位基本确定为史密斯、霍姆格伦和切罗。而魔术队会选择史密斯,……昆明市多措并举实施高质量充分就业促进行动来源:【昆明日报掌上春城】2022年以来,昆明市深入实施就业优先战略,大力实施高质量充分就业促进行动,在促就业、稳就业、保就业工作上取得显著实效,提供有效就业岗位18。9……日本恢复入境旅行一个月,游客数量较同期下降95据CNN报道,日本在2022年6月大张旗鼓地恢复外国游客入境,正好赶上旅游旺季。但根据日本移民局的数据,6月10日至7月10日期间,日本迎来了约1500名游客,这比2019年同……恭喜!他晒照宣布当爸爸了7月4日,国羽混双名将郑思维通过个人社交平台宣布,妻子为他生下体重6斤的健康宝宝,自己当爹了。就在一天前,郑思维和队友黄雅琼搭档,刚刚夺得了马来西亚羽毛球公开赛的冠军,两……7大世界上最胖的人有图有真相(最胖人图片)太瘦如干尸吓死人,太胖又不健康且又会令人讨厌,下面介绍7大世界上最胖的人,确实太胖,有图有真相,一起来看看:1、苏珊娜。埃曼,最高体重1450斤苏珊娜。埃曼,最高体……世界上最柔软的女人太恐怖看完这些动作男人求约会世界上最柔软的女人太恐怖:看完这些动作男人求约会俄罗斯金发美女Zlata一直以来都是世界公认的最柔软的女人。Zlata长相冷艳,具有国外美女独特的魅力,身材也是非常的高挑……
四川眉山一古村建民宿摘得2022亚洲都市景观奖王者荣耀东皇送球球啦,新款拖尾特效有点意思,你觉得怎么样?ZeroMQ无锁队列的原理与实现雅迪爱玛这2款电动车,续航100km,一周一充,每公里不到1大盘点湖人队每个时期的领袖和球队数据排名67岁吕良伟不见老!头发乌黑被疑整容过度,暖心娇妻送上心形蛋一文读懂多喝水巩俐终于发福了,穿碎花吊带裙勒出赘肉,和外国老公同框显油腻感KB联赛,崔精九段输了,中国台湾棋院队也输了?中超四大豪门主帅,其中三位有下课风险,郝伟有望进入国足教练组英特尔三十年来首次净亏损薪资倒挂现象越来越普遍,给新人更多钱,逼走老员工,这是要干啥

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