大廠云原生代碼插件ker實戰(zhàn)_第1頁
大廠云原生代碼插件ker實戰(zhàn)_第2頁
大廠云原生代碼插件ker實戰(zhàn)_第3頁
大廠云原生代碼插件ker實戰(zhàn)_第4頁
大廠云原生代碼插件ker實戰(zhàn)_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

K8S:CRI(ContainerRuntimedocker服務(wù)器的客戶端(命令行或者界面)Imaes:鏡像、映像、程序包;Imae是只讀模板,其中包含創(chuàng)建Docer容器的說明。容器是由Imae運行而來,Imae固定不變。Registries:倉庫;DockerImage的地方。倉庫地址: DockerDocker用Go編程語言編寫,并利用Linux內(nèi)核的多種功能來交付其功能。Docker工作區(qū)。運行容器時,Docker會為該容器創(chuàng)建一組名稱空間。這些類namespace6項(資源cgroups資源限(資源限制資源限制:限制任務(wù)使用的資源總額,并在超過這 優(yōu)先級分配:分配CPU時間片數(shù)量及磁盤IOCPU使用時長、內(nèi)存用量等 通過等級識別符標(biāo)記網(wǎng)絡(luò)數(shù)據(jù)包,從而允許Linux流量程序(Traic其他安裝方式,詳細(xì)參照文檔:其他安裝方式,詳細(xì)參照文檔: sudoyumremove2、設(shè)置dockeryum112sudoyuminstall-yyum- #此處可 dockeryumaliyun切換為ali的yum3、安裝docker sudoyuminstalldocker-cedocker-ce-cli4、安裝指定版本dockeryumlistdocker-ce--showduplicates|sort-r45678#安裝指定版本,用上面的版本號替換sudoyuminstalldocker-ce-<VERSION_STRING>.x86_64docker-ce-#yuminstalldocker-ce-3:19.03.9-3.el7.x86_64docker-ce-cli-3.el7.x86_649#注意加上.x86_64 112345rpm-ivh /engine/install/binaries/#install-daemon-and--binaries-on-systemctlsystemctlstartsystemctlenable12123456789sudomkdir-psudotee/etc/docker/daemon.json<<-{"registry-mirrors":sudosystemctldaemon-sudosystemctlrestart/etc/docker/daemon.json是Docker oainer社區(qū)版2.0擁有超過0萬的普通用戶,是功能強大的開源工具集,可輕松地在Docer,Sarm,ernes和AueCI中構(gòu)建和管理容器。orainer的工作原理是在易于使用的GUI后面隱藏使管理容器變得的復(fù)雜性。通過消除用戶使用CI,編寫AML或理解的需求,oainer使部署應(yīng)用程序和解決問題變得如此簡單,任何人都可以做到。oainer開發(fā)團隊在這里為您的Docer幫助;dockerrun-d-p8000:8000-p9000:9000--name=portainer--restart=always-/var/run/docker.sock:/var/run/docker.sock-vportainer_data:/data3456#dockerrun-d-p9001:9001--nameportainer_agent--restart=always-/var/run/docker.sock:/var/run/docker.sock-/var/lib/docker/volumes:/var/lib/docker/volumes 輸出,以及錯誤流(這樣似乎也能進入容器內(nèi)容,但Dockerfile創(chuàng)建新容器,但并不啟動(注意與dockerrun的區(qū)分)需要手動啟動。 刪除C:文 /docker-entrypoint.shnginx-g'daemonodockerps--no-trunc登錄Docker退出Docker從registry一個image或者去dockerhub1、先去軟件市場搜鏡像:/dockerhub2、鏡像dockerpullxxx3、啟動軟件dockerrun對于鏡像的所有管理操作都在這一個命令:dockerimage--6days2months dockercreatenamemyredisp6379(主機的端口):6379(容器的端口)redis-pdockerrun--namemyredis2-p6379:6379-p8888:6379redis:默認(rèn)是前臺啟動的,一般加上-d讓他 悄悄啟動,虛擬機的很多端口綁定容器的一個端口是允許的dockerrun-d==dockercreate+dockerstart dockerattach綁定的是控制臺. dockerexec-it-u0:0--privilegedmynginx4/bin/bash:0用戶, 方式進入容dockercontainerinspectdockerinspectdockerinspectimage/network/volume#dockercommit-aleifengyang-m"firstcommit"mynginx4mynginx:v4 dockerhub,方便后來在其他機 (dockerps--no-trunc),dockerrun-d-Pmynginx:v6/docker-entrypoint.shnginx-g'daemonoff;' 或者dockerimageinspect看之前的鏡像,把之前鏡像的Entrypoint的所有和Cmd dockersaveobusybox.tarbusybox:latest把busybox鏡像保存成tardockerload-i dockerrun[OPTIONS]IMAGE[COMMAND] dockerrun--namemyredis2-p6379:6379-p8888:6379dockerrun-itbusybox;FROMdockerbuild-tmybusy66:v6-fDockerfileFROMalpine(基礎(chǔ)鏡像CMDredis-server#build是根據(jù)一個Dockerfilecommitdockerrun的立即啟動,dockercreate得稍后自己啟動dockerhubdockerpushleifengyang/mynginx:tagnamedockerhub一個完整鏡像的全路徑是dockerimages的時候鏡像縮略了全名默 dockerlogin。所有的東西都會pushdockerpush上面命令的完整版dockerpushcat~/.docker/config.jsonauth的值,沒有就是沒有登錄dockerhub太慢了,用阿里云的鏡像倉庫,或者以后的habor倉庫11sudodockertag[ImageId][鏡像版sudodockerpush2--/lfy/mynginx:[ 1、docker

-運行容器,并返回容器-i-t-運行容器,并返回容器-i-t:-t-i :指定容器DNS搜索,默認(rèn)和宿主一致-h"mars":--env-file=[]::--link=[]:添 --volume-v:-v: :3、dockerrun進行部署##注意外部的/nginx/confdockerrun--namenginx-app-v/app/nginx/html:/usr/share/nginx/html:ro-v-d1123456789dockerrun-p3306:3306--namemysql57-app/app/mysql/log:/var/log/mysql/app/mysql/data:/var/lib/mysql/app/mysql/conf:/etc/mysql/conf.d-eMYSQL_ROOT_PASSWORD=123456-d#8.x版本,引入了secure-file-priv機制,磁盤掛載將沒有權(quán)限讀寫data或 od-R777#-- dockerrun-p3306:3306--namemysql8-app/app/mysql/conf:/etc/mysql/conf.d/app/mysql/log:/var/log/mysql/app/mysql/data:/var/lib/mysql-eMYSQL_ROOT_PASSWORD=123456-d55dockerrun-p6379:6379--nameredis-v/app/redis/redis.conf:/etc/redis/redis.conf-v/app/redis/data:/data-dredis:6.2.1-alpine3.13redis-server/etc/redis/redis.conf--appendonly配置參照##提前準(zhǔn)備好redis.confport63791234112##3456789#考慮為什么掛載使用esconfig...dockerrun--name=elasticsearch-p9200:9200-p9300:9300-e"discovery.type=single-node"-eES_JAVA_OPTS="-Xms300m-Xmx300m"/app/es/data:/usr/share/elasticsearch/data/app/es/plugins:/usr/shrae/elasticsearch/plugins\esconfig:/usr/share/elasticsearch/config\-d112345#考慮,如果我們每次-vdockerrun--nametomcat-app-p8080:8080tomcatconf:/usr/local/tomcat/conftomcatwebapp:/usr/local/tomcat/webapps\ unessopped,在容器退出時總是重啟容器,但是不考慮在Docer2、docker dockerexec-italpine3、docker dockerbuild-timageName-fDockerfileName4、docker容器:某個軟件完整的運行環(huán)境;包含了一個小型的linux系統(tǒng)宿主機里面同時4個nginx;一個nginx運行時完整環(huán)境有20MB?優(yōu)點:docker的移植性、便捷性高于在宿主機部署、進程、很方便的資源限制 docker在底層使用自己的驅(qū)動。來組件文件內(nèi)容storagedrivers。docker基于AUFS(聯(lián)合文件系FROMbusyboxCMD使用:dockerimageinspect ;di(只是不同);包含小型linux和裝好的軟 631f7f2/diff23c7524b4/diff:nginx450f055e5/diff:nginx67207166e/diff:小linux小linux系統(tǒng)(FROMapline)+Dockerfile的每一個命令可能都引起了系統(tǒng)的修改,所以和-容器會自己建立層;如果想要改東西,把改的內(nèi)容到容器層即可dockerinspect "UpperDir":(d容器 】MergedDir:合并 dockerdocker底層的storagedriver完成了以上 dockercommit:能提交,MySQL的容器,也能提交。1、ImagesandDocker映像由一系列層組成。每層代表圖像的Dockerfile中的一條指令。除最后一層外的每一層都是只讀的。如以下Dockerfile:1212345COPY./appRUNmakeCMDpython# 創(chuàng)建新容器時,可以在基礎(chǔ)層之上添加一個新的可寫層。該層通常稱為“容器層”。的容器所做的所有更改(例如寫入新文件,修改現(xiàn)有文件和刪除文件)都將寫入此薄可寫容器層。2、Containerand 刪除容器后,可寫層也會被刪除?;A(chǔ)圖像保持不變。因為每個容器都有其自己的可寫容器層,并且所有更改都在該容器層中,所以多個容器可以共享對同一基礎(chǔ)映像的,112345678dockerps-virtualsize:容器使用的用于只讀圖像數(shù)據(jù)的數(shù)據(jù)量加上容器的可寫圖層大小。112Busybox345、CopyOn 另一層第一次需要修改文件時(在構(gòu)建映像或運行容器時),將文件到該層并進行修改。這樣可以將I/O和每個后續(xù)層的大小最小化。、docker自動在外部創(chuàng)建文件夾自動掛載容器內(nèi)部指定的文件夾內(nèi)容【DockerfileVOLUME指令的作--mount掛載到linux宿主機,手動掛載(不用了-v可以自動掛載,到linux'主機或者dockerBindmounts(綁定掛載:在主機文件系統(tǒng)的一部分中,該文件系統(tǒng)由Docker管理(在Linux上是“/var/lib/docker/volumes/”)。非DockerBindmounts(綁定掛載可以在任何地方在主機系統(tǒng)上。它們甚至可能是重要的系統(tǒng)文件。Docker主機或Docker容器上的非Dockertmpfsmounts(臨時掛載tmpfsmounts(臨時掛載1123dockerrun-dP-v:/etc/nginxdockerdockerrun-dP-vnginx:/etc/nginx -v不以/開頭的路徑:Docker容器內(nèi)部絕對路徑:叫綁定(docker會自動管理,docker不會把他當(dāng)前目-v絕對路徑的方式除非特殊/bin/dockernginx--不掛載效果:默認(rèn)歡迎頁-v 效果:-v 效果:卷(什么都不寫也不要加冒號,直接寫容器內(nèi)的 -vhtml:/usr/share/nginx/html;dockerinspectdocker11234567v1、先在docker底層創(chuàng)建一個你指定名字的卷(具名卷)###2###38#####-vnginxhtml:/usr/share/nginx/html1dockercreatevolumenginxhtml如果給卷里面就行修改,容器內(nèi)部的也就改2dockervolumeinspect3、dockerrundPvnginxhtml:/usr/share/nginx/htmlname=nginx777"Mounts": "Name""html",//名字是 "Source""/var/lib/docker/volumes/html/_data"http://宿主"Destination""/usr/share/nginx/html"http://容器內(nèi)部"Driver":"local","Mode":"RW":true,//讀寫模式"Propagation":""}]dockervolume#可以對docker自己管理的 進行操作 32、bind如果將綁定安裝或非空卷安裝到存在某些文件或的容器中的如果將綁定安裝或非空卷安裝到存在某些文件或的容器中的中,則這些文件或會被安裝遮蓋,就像您將文件保存到Linux主機上的/mnt中一樣,然后將USB驅(qū)動器安裝到/mnt中。在卸載USB驅(qū)動器之前,/mnt的內(nèi)容將被USB驅(qū)動器的內(nèi)容遮蓋。被遮蓋的文件不會被刪除或更改,但是在安裝綁定安裝或卷時將無法。 1234所有以/bindmount,不以/112345 dockerrun-d-P-vnginxconf:/etc/nginx/-vnginxpage:/usr/share/nginx/htmldockerrundPvroot/nginxconf:/etc/nginx//root/nginxhtml:/usr/share/nginx/html--name=nginx999678###1 ###2、dockercpnginxdemo:/etc/nginx/root/nginxconf#注意的使用3、dockerrundPv/root/nginxconf:/etc/nginx/-/root/nginxhtml:/usr/share/nginx/html--name=nginx999dockerdockervolumecreatexxxdockervolumeinspectxxxdockervolumeprune:4、dockerdockerdockercp[OPTIONS]CONTAINER:SRC_PATHDEST_PATH|-:把容器里面 出dockercp[OPTIONS]SRC_PATH|-CONTAINER:DEST_PATH:把外部 進

不存在:文件名為DEST_PATH不存在并且 DEST_PATH存在并且是文件:目標(biāo)文件內(nèi)容被替換為SRC_PATHDEST_PATH存在并且 SRC_PATH

不存在:DEST_PATH創(chuàng)建文件夾,

不以/.結(jié)束:源文件 以/.結(jié)束:源文件夾里面的內(nèi) [root@lfy~]#dockercpindex.htmlmynginx4:/usr/share/nginx/html[root@lfy~]#dockercpmynginx4:/etc/nginx/nginx.confnginx.conf11dockercreate-p3306:3306-eMYSQL_ROOT_PASSWORD=123456--o-2

--link--link1123456dockerrun-d-eMYSQL_ROOT_PASSWORD=123456--namemysql01dockerrun-d--linkmysql01:mysql--nametomcatdockerexec-ittomcatbashcat/etc/hostsDocer使用Linx橋接,在宿主機虛擬一個Docer容器網(wǎng)橋(dcer0),Docer啟動一個容器時會根據(jù)Docer網(wǎng)橋的網(wǎng)段分配給容器一個IP地址,稱為Conaine-IP,同時Docer網(wǎng)橋是每個容器的默認(rèn)網(wǎng)關(guān)。因為在同一宿主機內(nèi)的容器都接入同一個網(wǎng)橋,這樣容器之間就能夠通過容器的Coaine-IPDocer容器網(wǎng)絡(luò)就很好的利用了Linux虛擬網(wǎng)絡(luò)技術(shù),在本機和容器內(nèi)分別創(chuàng)建一個虛擬接口,并讓他們彼此(這樣一對接口叫thair);Docer中的網(wǎng)絡(luò)接口默認(rèn)都是虛擬的接口。虛擬接口的優(yōu)勢就是轉(zhuǎn)發(fā)效率極高(因為iux是在內(nèi)核中進行數(shù)據(jù)的來實現(xiàn)虛擬接口之間的數(shù)據(jù)轉(zhuǎn)發(fā),無需通過外部的網(wǎng)絡(luò)設(shè)備交換),對于本地系統(tǒng)和容器系統(tǒng)來說,虛擬接口跟一個正常的以太網(wǎng)卡相比并沒有區(qū)別,只是他的速度快很多。3、dockerrundPnametomcatnetbridge容器和另外一個容器共享Networknamespace。容器和宿主機共享Network用戶自己使用twork相關(guān)命令定義網(wǎng)絡(luò),創(chuàng)建容器的時候可以指定為自己定義的網(wǎng)絡(luò)112345671、自定義創(chuàng)建的默認(rèn)default"bridge"dockernetworkcreate--driverbridge--subnet/16--89通dockernetworkconnect[OPTIONS]NETWORKdockernetworkconnectmynet通2、跨網(wǎng)絡(luò)連接別人就用dockernetworkconnectmynet#41、容器啟動,指定容器ip。dockerrun--ip--net 2、創(chuàng)建子網(wǎng)。dockernetworkcreate--subnet指定子網(wǎng)范圍--driverbridge好,直 3、dockercompose指定者信息,已經(jīng)過時,可以使用LABELmaintainer=xxx來替指定啟動容器時默認(rèn)令指定鏡像的默認(rèn).運行命令鏡像內(nèi)服務(wù)的端口config指定的sc路徑下的內(nèi)容到容器中的det路徑下,sc可以為url,可以為ar文件,會自動解壓 argsvSFROM指定基礎(chǔ)鏡像,最好挑一些apline,slim之類的基礎(chǔ)小鏡像.LABELLABELmulti.label1="value1"multi.label2="value2"LABELmulti.label1="value1"multi.label2="value2"生成的提交映像將用于Docere中的下一步。分層運行RUN指令并生成提交符合Docer的概念,就像源代碼控制一樣。 。在s RUN<command>RUN<command>( 形式,/bin/sh-c的方式運行,避免破壞 RUN["executable""param1""param2"exec形式123456RUN/bin/bash-c'source$OME/.bashrc;\echo$OME'RUN/bin/bash-c'source$OME/.bashrc;echo$RUN["/bin/bash","-c",123456789FROMLABELmaintainer=leifengyangENVoatguiguRUNechoRUNRUN/bin/sh-c'echoRUN["/bin/sh","-c","echoCMDsleep形式,所以不能輸出變量信息,而是輸出$msg。其他任何/bin/sh-c 11231.是/bin/shc<command>2.execbin/sh","-c",command]的方式也就是execCMD["executable","param1","param2"exec方式首選方式CMD["param1","param2"(為ENTRYPOINT提供默認(rèn)參數(shù)CMDcommandparam1param2(s ENTRYPOINT["executable","param1",ENTRYPOINTENTRYPOINT["executable","param1",ENTRYPOINTcommandparam1param2 12123456789FROMLABELCMDCMD["2222"]dockerrunxxxxechoCMD如果使用CMD為ENTRYPINT指令提供默認(rèn)參數(shù),則CMD和ENTRPOINT指令均應(yīng)使用JSON式指定。錯誤不允許的寫;容器沒有啟動/bin/sh-cexec_entryexec_cmd/bin/sh-cexec_cmdp1_cmdp1_cmd/bin/sh-c/bin/sh-c/iTc1nr1_entry “1__etry”]ENTRYPOINT準(zhǔn)4、dockerrun啟動參數(shù)會覆蓋CMD1123456789FROMLABELCMD["1111"]dockerrunxxxx:什么都不傳則echo1111dockerrunxxxarg1:傳入arg1則echoarg1ARG指令定義了一個變量,用戶可以在構(gòu)建時使用--build-arg=傳遞,dockerbuild命令會將其傳遞--build-arg指定參數(shù)會覆蓋Dockerfile

ENV可以使用keyvalue11234567ENVoENVMY_NAME="JohnDoe"ENVMY_DOG=Rex\The\DogENVMY_CAT=fluffyENVMY_NAME="JohnDoe"MY_DOG=Rex\The\Dog\ENV在image階段就會被解析并持久化(dockerinspectimage查看)1123456ENVarg=ENVRUNecho$runcmdCMDecho問題:改變arg,會不會改變echo的值,會改變哪些值,如何修改這些值FROMFROMARGENVENVRUNecho$arg1$arg2CMDecho$arg1$arg2COPY[--chown=<user>:<group>]["<src>",...--chown功能僅在用于構(gòu)建Linux容器的Dockerfiles上受支持,而在WindowsCOPY指令從src 可以指定多個src資源,但是文件和 都可以包含通配符,并且匹配將使用Go的filepath.Match規(guī)則進行1123456789COPYhom*/mydir/#當(dāng)前上下文,以homeCOPYhom?.txt/mydir/COPYtest.txtrelativeDir/#目標(biāo)路徑如果設(shè)置為相對路徑,則相對與WORKDIR把“test.txt”COPYtest.txt/absoluteDir/#COPY--chown=55:mygroupfiles*/somedir/COPY--chown=binfiles*/somedir/COPY--chown=1files*COPY--chown=10:11files*同COPY用法,不過ADD擁有自動文件和解壓的功能。路徑必須在構(gòu)建的上下文中;不能使用../something/something這種方式,因為docker 如果src是URL

不以斜杠結(jié)尾,則從URL文件并將其到dest如果dest以斜杠結(jié)尾,將自動推斷出url的名字(保留最后一部分),保存到如果src是 ,則將的整個內(nèi)容,包括文件系統(tǒng)元數(shù)據(jù)。

WORKDIR指令為DockerfileRUN,CMD,ENTRYPOINT,COPY,ADD指令設(shè)置工作目WORKDIR不存在,即使以后的Dockerfile指令中未使用它也將被創(chuàng)建。WORKDIR指令可在DockerfileWORKDIR指WORKDIRWORKDIRWORKDIRWORKDIRRUN#ENVENVDIRPATWORKDIR$DIRPATRUN#VOLUMEVOLUME["/var/log/"]#可以是JSONVOLUME/var/log#VOLUME/var/log/var/db#用VOLUME了卷,那么以后對于卷內(nèi)容的修改會被丟棄,所以,一定在 之前修改內(nèi)容USERUSERUSERPOE指令通知Docer容器在運行時在指定的網(wǎng)絡(luò)端口上進行偵聽。可以指定端口是偵聽CP還是UDP,如果未指定協(xié)議,則默認(rèn)值為CP。EXPOSE指令實際上不會發(fā)布端口。它充當(dāng)構(gòu)建映像的人員和運行容器的人員之間的一種文檔,即有關(guān)打算發(fā)布哪些端口的信息。要在運行容器時實際發(fā)布端口,請在dockerrun上使用-p標(biāo)志發(fā)布EXPOSEEXPOSE<port>EXPOSEEXPOSEEXPOSE511、multi-stage 1123456789###我們?nèi)绾未虬粋€JavaFROMmavenCOPY..RUNmvncleanENTRYPOINTjava-jarapp.jar####12123456789#以下所有前提保證Dockerfile第一階段:環(huán)境構(gòu)建;WORKDIR/appADD./RUNmvncleanpackage-##jmapjdkspringboot-FROMopenjdk:8-jre-"COPY--from=builder/app/target/*.jarRUNln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime&&echo'Asia/Shanghai'>/etc/timezone&&touch/app.jarENVENV運行jarENTRYPOINT["sh","-c","java-$JAVA_OPTS-jar/app.jar$PARAMS"123456789 如下--<name>NexusSnapshot<!--snapshots默認(rèn)是關(guān)閉的,需要開啟<name>NexusSnapshot 23456789'Asia/Shanghai'>/etc/timezoneRUNln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime&&echo'Asia/Shanghai'>/etc/timezoneShanghaidockercp/etc/localtime容器dockerbuildbuild-argurl="gitaddresstdemo:test1123456789FROMmaven:3.6.1-jdk-8-alpineASbuildapp#COPY--from=gitclone*/app/WORKDIR/appCOPYpom.xmlCOPYsrcRUNmvncleanpackage-/apptargetRUNpwd&&ls-lRUNcp/app/target/*.jar/app.jarRUNls-l###以上第一階段結(jié)束,我們得到了一個##只要一個FROMopenjdk:8u282-slimRUNln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime&&'Asia/Shanghai'"COPY--from=buildapp/app.jar#dockerrun-eJAVA_OPTS="-Xmx512m-Xms33-"-ePARAMS="--files=dev #啟動 ENVENVENVENTRYPOINT["sh","-c","java-$JAVA_OPTS-jar/app.jar$PARAMS"12123456789#RUNxxxRUNxxxaaa\vvvRUNapt-getupdate&&apt-getinstall-y\bzr\cvs\gitmercurial\subversion&&rm-rf

123456789123456789FROMopenjdk:8-jre-LABEL"RUNapkadd-Utzdata;\echo'Asia/Shanghai'>/etc/timezone;\touchENVPARAMS=""EXPOSEENTRYPOINT["sh","-c","java-$JAVA_OPTS-jar/app.jar$PARAMS" dockerruneJAVA_OPTS="-Xmx512mXms33ePARAMS="--files=dev--server.port=8080"-jar/app/app.jar app=nginx+web+mysql以后只要啟動app,創(chuàng)建app。都得run4個,保證網(wǎng)絡(luò)暢通+掛載ok sudocurl-L-pose-$(uname-s)-$(uname-m)"-o 123456123456789{"name":"url":"page":"address":"street":"宏??萍紙@"city":"country":"中國"links":{"name":"url":{""name":"url":"}]}以上JSON轉(zhuǎn)為Yaml##這是yamlkey:value基本鍵值對寫法;yamlapp==wordpress(個人博客)webmysql(層o- mkdircompose文件 pose.yaml,compose.yml,1123456789version:"3.9"#指定版本號;查看文檔services:##dockerbuild-txxx-fDockerfiledockerfile:context:image:ports:#指定啟動容 -redis:#第二個服務(wù)的名字image#mysqlserver:Creatingnetwork"composetest_default"withthedefaultdriverBuildingwebSendingbuildcontexttoDockerdaemonStep1/10:FROMpython:3.7-Step10/10:CMD["flask",>RunningincRemovingintermediatecontainer>SuccessfullybuiltcSuccessfully======webWARNING:Imageforservicewebwasbuiltbecauseitdidnotalreadyexist.rebuildthisimageyoumustuse`Pullingredisposebuild`orposeup-Status:DownloadednewerimageforCreatingcomposetest_redis_1...Creating...Attachingtocomposetest_web

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論