日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

001/Docker入门(Mooc)

發布時間:2025/6/16 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 001/Docker入门(Mooc) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

docker官網:https://www.docker.com/

1。什么是docker

2。Docker思想

? ? ==》

【1】。集裝箱:保證程序完整(不缺東西,如配置文件等)。

【2】。標準化:開發測試都是使用一套環境

? ? ? ?(1)。運輸方式:選擇傳輸應用的方式,如QQ,ftp等。(docker不用)

? ? ? ?(2)。應用存儲位置。(docker不需要你記住存儲位置)

   (3)。API接口:接品標化化用同樣的命令控制所有應用

【3】。隔離:每個服務獨自運行,互不影響

LXC為Linux Container的簡寫。可以提供輕量級的虛擬化,以便隔離進程和資源,而且不需要提供指令解釋機制以及全虛擬化的其他復雜性。

3。Docker解決什么問題

【1】。我本地環境沒問題啊?(docker集裝箱解決該問題)

【2】。系統好卡,哪個同學又寫死循環了?(docker隔離性解決該問題,如:linux本來是多租戶,允許多個用戶使用。)

【3】。雙11來了,服務器撐不住了。(節日前擴展機器,節后再下線節點。浪費。有了docker,即可隨時擴充服務器。)

docker讓快速擴展 & 彈性伸縮變得簡單。

4。Docker核心技術

鏡像:(集裝箱)

倉庫:(超級碼頭)

容器:(運行程序的地方)

用docker運行一個程序的過程:去倉庫把鏡像拉到本地,用一條命令,把鏡像運行起來變成容器。

Build:構建鏡像?[鏡像 類比 集裝箱]

Ship:運輸鏡像(從倉庫 & 主機上運輸)[倉庫 類比 超級碼頭]

Run:運行鏡像(運行的鏡像就是一個容器)- [容器 就是 運行程序的地方]

5。Docker鏡像

鯨魚馱著的就是一堆鏡像

Docker鏡像:鏡像就是一系列的文件,它可以包括應用程序,應用環境的文件,docker將它保存到本地,以什么格式保存(涉及技術linux的存儲技術:聯合文件系統)

聯合文件系統:docker Unie fileSystem (分層)(可將不同目錄掛在同一文件系統)

test1第一層,test2第二層。test聯合文件系統可以看到test1和test2所有內容。

鏡像存儲格式:

?

最底層-》最頂層:

【1】操作系統引導 【2】具體linux操作系統 【3】相關軟件,如tomcat/jdk【4】存儲應用代碼【5】容器(可修改)

以上這些均為一個文件系統,為一個docker鏡像。

6。Docker容器

容器的本質就是一個進程。(容器在鏡像的最上層為可讀可寫,鏡像的其他層均為只讀)

(可將容器理解為一個虛擬機)

Docker鏡像的每一層都是只讀的,而容器作為最上層,是可讀可寫的。如果程序需要對鏡像進行修改,那么Docker會把要修改的鏡像文件拷貝到最上層的容器中,然后再進行修改。往后對該文件的訪問會優先從容器中讀取,尋找文件的順序是從下往下。

7。Docker倉庫

構建鏡像的目的是在其他環境或其他機器上運行我的程序

需要將鏡像傳輸到其他環境--應用docker倉庫(構建鏡像-》運輸-》Docker倉庫《- 目地的從docker倉庫拉取鏡像)
docker提供中央倉庫:地址(hub.docker.com / c.163.com)?

8。Docker安裝

視頻地址;https://www.imooc.com/video/14616 (windows/ mac /linux)

推薦linux,docker本身在linux研發,更源生。

9。第一個docker鏡像

10。docker網絡

網絡類型:

1.Bridger:橋接模式(有獨立的network namespace,即有獨立IP和端口).與外界互通,需要端口映射。

2.Host:主機模式(與主機共用同一網卡)

3.NONE:無網絡。docker容器不能與外界互通

$docker run -d -p 8080:80 hub.c.163.com/library/nginx//-d:指定后臺進程 //-p:映射端口 (主機端口:容器端口) $netstat -na | grep 8080 //查看8080是否被占用 $docker run -d -P hub.c.163.com/library/nginx //隨機映射端口

11。制作自己的鏡像

【1】。Dockerfile

【2】。docker build

【3】。Jpress

? ? ? ? http://jpress.io? //開源的java-web應用

準備工作:

1。javaWar包。

2。java web依賴tomcat服務器,docker pull tomcat鏡像

3。vi Dockerfile? ? ?

from tomcat鏡像名 //tomcat作為基礎鏡像(tomcat包含jdk) MAINTAINER 所有者名 所有者聯系方式 //所有者信息 COPY jpress.war tomcat鏡像webapp目錄 //web應用放入鏡像,運行自建javaweb程序

4。docker build -t 鏡像名字 目錄(.表示當前目錄)

5。docker image ls //查看鏡像

6。運行自己的容器

地址欄訪問:http://localhost:8888/webappname 即可正常訪問。?

jpress項目需要mysql ,可在docker中安裝一個mysql鏡像即可.

……………………………………………………………………………………………………………………………………

Eg1:以本地java打war包為例,構建一個鏡像

Step1:以tomcat鏡像為基礎鏡像docker pull tomcat //拉取tomcat鏡像 Step2:定制鏡像touch Dockerfile #新建Dockerfile文件vi Dockerfile #編輯Dockerfile##add content startFROM tomcat:latestMAINTAINER shiyufeng kaixinyufeng@sina.comCOPY web-ssm-single.war /usr/local/tomcat/webapps##add content endStep3:構建鏡像docker build -t cfca-web:v1 . //在當前目錄,構建一個cfca-web的鏡像,tag為v1的鏡像 Step4:run鏡像為容器docker run -d -p 8089:8080 cfca-web:v1 //-d后臺守護進程 -p映射端口宿主機:容器 鏡像名 地址欄訪問:http://localhost:8089/web-ssm-single/即可。

命令行訪問:

?

ZBMAC-C02VX5Y7H:myLearn shiyufeng$ curl http://localhost:8089/web-ssm-single

ZBMAC-C02VX5Y7H:myLearn shiyufeng$ curl http://localhost:8089/web-ssm-single/

<html>

<body>

<h2>Hello World!</h2>

<h3><a href="/user/query">send request</a></h3>

</body>

</html>

地址欄訪問:http://localhost:8089/web-ssm-single/

成功!!!

Eg2:以nginx為例:

//Step1:從遠程倉庫拉取鏡像 docker pull nginx #未指定版本默認拉取最新鏡像docker pull nginx:版本號 #指定版本號拉取//Step2:查看鏡像 docker image ls nginx//Step3:啟動鏡像-》容器 docker run -d -p 8088:80 nginx:latest #-d指定后臺守護進程 -p指定映射宿主機:容器端口號 nginx指定鏡像名稱//docker ps #查看當前運行的容器//以上相當于在本地8088端口開啟了一個nginx服務。//地址欄訪問:localhost:8088 即顯示welcome to nginx//停止容器 docker stop 容器id//重新啟動容器 docker ps -a #查詢所有容器 docker start 容器id//在某一目錄下新建index.html vi index.html<html><h1>yufeng learn docker!!!</h1></html>//拷備本地index.html文件到docker容器 docker cp index.html 容器id://index.html文件所在容器路徑 docker cp index.html 容器id://usr/share/nginx/html//打開瀏覽器再次訪問。頁面顯示新內容yufeng learn docker!!!//停止nginx容器 & 再重新運行nginx容器 docker stop 容器id docker run -d -p 8088:80 nginx:latest//瀏覽器再次訪問:localhost:8088,會出現welcome to nginx。而非新內容//說明:docker在容器內所做的改動都是暫時的,都是未被保存的。//保存自定義內容 docker cp index.html 容器id://usr/share/nginx/html docker commit -m '備注信息' 容器id 名字上述會重新定制一個imagedocker run -d -p 8088:80 Repository

?注:上述用commit定制鏡像不建議應用(命令無法找回)

推建Dockerfile文件定制鏡像。

……………………………………………………………………………………………………………………………………

12。Volume:提供容器之外的持久化存儲

方法一:

//docker run運行一個容器,通過-v掛載一個卷 $docker run -d --name nginx -v /usr/share/nginx/html nginx//-d 守護進程 --name指定名稱 -v掛載一個卷 nginx容器名稱 $docker inspect nginx //檢查

核心位置:

$ ls /var/lib/docker/volumes/c92d78d64d6be29847ec12583cced83015d5fd43b6e43b5379463d3cf3110165/_data//會報無該目錄。原因是mac上多了一層虛擬層alphascreen ~/library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty//應用上述命令即可進入

//退出screen ctrl + a?,再按?d?鍵暫時退出終端

方法二:volume本地目錄掛載到容器目錄中:

$mkdir html $vi index.html ##content start <html> <h1>docker volume學習!</h1> </html> ##content end$docker run -d -p 80:80 -v $PWD/html:/usr/share/nginx/html nginx//-d:后臺守護進程 -p:端口映射(宿主機:容器) //-v:數據卷 (本機目錄:容器目錄) nginx:鏡像 //$PWD:當前目錄 //驗證 curl http://localhost//修改本機index.html內容。再將執行curl。則容器index.html隨主機變化而變化。

好處:只需要在本地修改,即可在容器中體現。

方法三:volume掛載一個容器到另一容器

//step1:創建一個目錄叫data $mkdir data
//step2:創建一個容器,該容器僅僅用于存儲數據 docker create -v $PWD/data:/var/mydata --name data_container ubuntu// -v:volume $PWD:當前路徑 // /var/mydata容器中路徑,自定義 // -name指定容器名字 // ubuntu指定基礎鏡像//Step3:運行并進入容器內部 $docker run -it --volumes-from data_container ubuntu /bin/bash//-it:交互式執行 /bin/bash //--volumes-from指定從另外一個容器掛載。 //ubuntu:基礎鏡像//Step4: $ mount//Step5:進入容器該目錄下 $ cd var/mydata//Step6:創建一個文件 $ vi volume.txt//Step7:退出 exit//Step8:查看本機data目錄下,已經有volume.txt文件

應用mount命令查看掛載目錄

進入容器目錄,添加一個文件,在本地文件目錄/data下即可看到剛在容器中創建的目錄。

好處:新創建的數據容器可以被多個其他容器掛載,達到數據共享.?

13。Registry:鏡像倉庫(SAAS服務)

術語:

//搜索鏡像 docker search 鏡像名(eg:redis)//拉取鏡像 docker pull XXX//推送鏡像到遠端倉庫 docker push XXX //之前需要$ docker login

國內一些倉庫:daocloud/時速云/aliyun

14。docker-compose:多容器app

【1】安裝docker-compose

【2】實戰

Mac安裝:

https://docs.docker.com/docker-for-mac/edge-release-notes/#docker-community-edition-18050-ce-mac66-2018-05-17

轉載于:https://www.cnblogs.com/kaixinyufeng/p/9247151.html

總結

以上是生活随笔為你收集整理的001/Docker入门(Mooc)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产www视频 | 天天操网址 | 少妇欧美激情一区二区三区 | 在线观看成人一区 | 日韩一区二区三区在线观看视频 | av免费成人 | 久久99精品久久只有精品 | 神马久久网站 | a级片一区二区 | 色婷婷18| 久久久久一| 射进来av影视网 | 18无码粉嫩小泬无套在线观看 | 免费看av大片 | √资源天堂中文在线视频 | 国产精品九九九 | 青春草在线视频免费观看 | 波多野结衣99 | 一级丰满大乳hd高清 | 亚洲美女性生活视频 | 欧美自拍偷拍 | 亚洲天堂免费av | 日本成人一区二区三区 | 亚洲天堂国产 | 国产精品国产三级国产传播 | 日日夜夜一区 | 国产黄色av网站 | 日本精品一区二区三区四区 | 影音先锋资源av | 黄色片网站在线观看 | av制服丝袜在线 | 美女a视频| 亚洲精品国产精品乱码不卡√香蕉 | 精品福利视频一区二区 | 久艹在线 | 91视频看片| 久久精品波多野结衣 | 在线成人av网站 | 欧美黄色性 | 天堂在线视频网站 | 欧美久久成人 | 国产免费福利视频 | 国产精品无码一区二区三 | 99精品久久毛片a片 成人网一区 | 国产一级片免费在线观看 | 福利视频导航网 | 国产亚洲一区二区在线 | av成人在线网站 | 精品一区久久 | 少妇又紧又深又湿又爽视频 | 精品国产乱码久久久久 | 看全黄大色黄大片美女人 | 成人做爰69片免费 | 天天操天天操天天操天天操天天操 | 韩国美女一区二区 | 粉嫩av一区二区三区四区五区 | 深夜福利网站在线观看 | 老师的肉丝玉足夹茎 | 日韩一区二区三区在线免费观看 | 国产综合视频 | 免费看国产黄色片 | 在线精品免费视频 | 亚洲午夜av久久乱码 | 欧美两根一起进3p做受视频 | 国产精品果冻传媒 | 韩国久久精品 | 久操视频免费 | 天天干天天爽天天操 | 日韩精品一区二区三区中文在线 | 日韩视频在线播放 | 污污内射久久一区二区欧美日韩 | 麻豆videos | 免费看黄在线网站 | 久久久久亚洲无码 | 国产精品成人久久久久久久 | 日本视频二区 | 国产又大又黄又爽 | 国产精品乱码久久久久 | 三级色视频 | 天天操天天碰 | 97久草 | 在线观看日本网站 | 久草精品在线观看 | 久久中文字幕在线观看 | 黄色片在线免费观看 | 亚洲性久久 | 亚洲男人天堂2018 | 欧美18av | 欧美黄色大片在线观看 | 国产高潮国产高潮久久久91 | 又大又硬又爽免费视频 | 51av视频 | 水果派解说av | 尤物精品在线观看 | 国产精品免费入口 | 欧美一区二区三区免费观看 | 欧美在线综合 | 91亚洲欧美激情 | 午夜欧美福利 |