docker技術分享

2021-10-13 19:30:06 字數 1616 閱讀 8697

docker可以看成是乙個檔案系統,他提供了除核心外的完整的執行時的環境。也就是說在這個檔案系統裡,可以包含部署的應用程式。這樣做的好處是提高了工程的遷移性,提高同時也保證了對線上環境更好的控制,而且比起虛擬機器技術,docker可以獲得更好的效能,但是他的隔離性要稍微差一些。

有關概念:映象,容器,倉庫。

映象docker的映象時分層儲存的,在構建映象時,每一條指令都會使docker多加一層,而且構建時新增的不能真正的刪除。因此在構建映象的時候,需要認真的考慮每一層是什麼,不要無腦的add copy。

容器容器就是執行起來得映象,映象和容器的關係,就相當於面相物件程式語言裡的類與物件的關係。

倉庫用了儲存映象的,乙個倉庫裡面有很多的標籤,乙個標籤對應乙個映象。(tag:image)

docker registry

docker registry裡可以有很多的倉庫,有共有的docker registry也有私有的docker registry。

獲取映象

docker pull [選項] [docker registry位址]《倉庫名》:《標籤》

執行容器

docker run,加-d則以守護態執行容器。

列出映象

docker image

進入容器

docker exec

提交容器

docker commit [選項] 《容器id或容器名》 [《倉庫名》[:《標籤》]]

容器的匯入、匯出

docker import,docker export。

終止容器

docker stop

其他命令:

copy,add,cmd,entrypoint,env,arg,volume,expose,workdir,user.healthcheck,onbuild。

建立資料卷

刪除資料卷

docker rm -v

資料卷容器

資料卷容器就是專門提供資料卷,供其他容器掛載。

建立乙個資料卷容器:

sudo docker run -d -v /dbdata --name dbdata training/postgres

echo data-only container for postgres

在其他容器中使用volumes-from來掛載dbdata 容器中的資料卷。

在docker中,可以使用-p或者是-p來指定埠。

在這裡說下dcoker會有乙個預設的虛擬橋接網絡卡,dcoker0,所有的docker容器都會接到該網絡卡上,因此只要將該網絡卡加入到路由資訊表中,就可以把docker容器暴露在真實的區域網中。

docker 採用了 c/s架構,包括客戶端和服務端。 docker daemon 作為服務端接受來自客戶的請求,並處理這些請求(建立、執行、分發容器)。

客戶端和服務端既可以執行在乙個機器上,也可通過 socket 或者 restful api 來進行通訊。

docker daemon 一般在宿主主機後台執行,等待接收來自客戶端的訊息。 docker客戶端則為使用者提供一系列可執行命令,使用者用這些命令實現跟 docker daemon互動。

Docker使用分享

通過dockerfile構建docker映象 遇到的問題 root 5a25c7e57895 cat etc redhat release centos linux release 7.3.1611 core yum install y docker root 5a25c7e57895 system...

mysql可以分享的技術 技術分享 MySQL

1 查詢語句是如何執行的?1 連線 1 建立連線 2 驗證許可權,修改了許可權,建立新的連線才會生效。3 sql執行的臨時記憶體 2 查詢快取 1 先查詢快取,更新操作會導致所有快取失效。2 mysql 8.0功能去掉 3 分析 詞法解析,語法解析 4 優化 1 決定使用哪個索引,比方說根據統計資訊...

Android技術分享

android開發必看知識,不看後悔 打包為大家奉上最實用最給力的資源,不看你絕對後悔。最強大的ui特效 奇藝高畫質ui 介面源 搜尋關鍵字飛入飛出效果 水波紋效果,附工程原始碼 效果很好很逼真 特效!超牛x launcher特效 仿360 一鍵優化動畫效果 功能強大的拼圖人生原始碼 最火爆的精品例...