日韩性视频-久久久蜜桃-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)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 免费看美女隐私网站 | 国产高潮久久久 | 欧美日韩亚洲成人 | 亚洲人成影视 | 国偷自产av一区二区三区麻豆 | 91在线在线 | 国内成人精品视频 | 男同av在线观看一区二区三区 | 3344av| 亚洲一区日韩精品 | 亚洲精品无码久久久久久久 | 欧美精品久久久久久久久 | 亚洲成人1区 | 欧美成人亚洲 | 亚洲另类自拍 | 黄色香港三级三级三级 | 99国产精品久久久久99打野战 | 1024久久 | 女生被草 | 精品1区2区 | 日本涩涩网站 | 亚洲乱码精品久久久久 | 国产精品久久久久久99 | 伊人青青草视频 | 日本草草影院 | 538国产精品一区二区免费视频 | 国产精品高潮呻吟久久av野狼 | 久久久久中文字幕 | 91理论片午午伦夜理片久久 | 男人的天堂在线播放 | 国产精品久久久久久久久免费软件 | 久久e热 | 911看片| www.男人天堂 | 最近中文字幕免费视频 | 鲁大师私人影院在线观看 | 一区二区三区四区免费观看 | 日本免费高清一区二区 | 日本亲与子乱ay中文 | 中文字幕精品在线观看 | 99热在线观看免费 | 国产a级大片 | 91成人国产 | 久久久99久久 | 一区免费视频 | 三上悠亚在线一区二区 | 麻豆传谋在线观看免费mv | 亚洲av无码一区二区三区四区 | 欧美日韩综合一区二区 | 裸体喂奶一级裸片 | 成人激情视频在线观看 | 国产欧美日韩三区 | 日本综合视频 | wwwav在线播放 | 日本一区二区三区在线看 | 中文字幕在线网站 | 日本黄色免费在线观看 | 国产一区二区三区亚洲 | 我不卡一区二区 | 国产色无码精品视频 | 免费人妻一区二区三区 | 鲁丝一区二区 | 好吊色视频一区二区三区 | 欧美成人亚洲 | 色婷网| 中国黄色在线视频 | 免费av不卡在线观看 | 91ts人妖另类精品系列 | 国产九九久久 | 不卡中文字幕在线观看 | 一色桃子juy758在线播放 | 国产一级片免费 | 久久久国产成人一区二区三区 | 久久久久久久久久久网站 | 九九热在线视频观看 | 中国在线观看视频高清免费 | 天天插夜夜| 91亚瑟视频 | 自拍偷拍第1页 | 在线你懂得 | 久久国产精品网 | 国产精品久久久久久av | 国产主播自拍av | 亚洲另类视频 | 成人激情视频 | 肌肉猛男裸体gay网站免费 | 依依成人在线视频 | 国产激情在线看 | 国产视频精选 | 一起草在线视频 | 成年人在线播放视频 | 中国精品一区二区 | 欧美色资源 | 欧美日韩免费观看一区=区三区 | 亚洲一区二区三区久久久成人动漫 | 国产精品一区二区三区四区 | 韩日黄色片 | 日韩av网址大全 | 一级黄色大片免费看 |