中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker操作實踐(3):Docker的操作詳解

發布時間:2020-08-05 12:03:07 來源:網絡 閱讀:428 作者:嘉為科技 欄目:系統運維

今天是Docker討論系列的終章,我們先從docker的命令開始介紹,再說明Docker run命令關鍵參數。


如果你還沒看過前面的內容:

第一篇《容器的本質是什么?容器從何而來?》

第二篇《Docker的安裝及架構介紹》



一張圖了解docker命令

Docker操作實踐(3):Docker的操作詳解上圖摘自:http://bingohuang.com/simplify-docker-image-2/



1.?概念介紹:

Images:docker鏡像。可將容器轉化為鏡像,也可從鏡像運行出一個個的容器實例。類似于虛擬機模板的概念。


Container:容器。

有running\stopped\pause三種狀態,類似于虛擬機的概念。


Tar files:可以將鏡像打包為tar文件,也可以將打包后的tar文件重新load為鏡像


Dockerfile:構建鏡像的聲明式配置文件。Docker技術的核心亮點之一。當我們從一個基礎鏡像(centos鏡像)構建一個另一個基礎鏡像(如java鏡像)時,一般不會使用的在centos鏡像中直接安裝java的方式,而是將java軟件與centos鏡像放置于一起,在相同目錄下編寫好dockerfile,dockerfile中定義了java鏡像安裝的命令和環境配置參數等安裝信息,然后使用docker build命令就可以將這些軟件及配置文件打包成一個java鏡像。這樣做的好處就是通過這種聲明式的構建方式最終構建了一個純凈的鏡像文件。


Registry:鏡像倉庫。用于存儲鏡像文件。


Engine:docker引擎


2.?與Engine相關的命令

Docker version ?查看docker版本

Docker info 顯示 Docker 系統信息,包括鏡像和容器數.

Docker events? 從服務器獲取實時事件


3.?與容器相關的命令

狀態操作命令:

  • Docker start? 從stop到running

  • Docker kill? 從running到stop,直接kill容器進程

  • Docker stop? 從running到stop,容器在停止前先完成一些保護性的動作之后再停止容器

  • Docker pause? 暫停容器中所有的進程

  • Docker unpause? 恢復容器中所有的進程


容器與鏡像相關的操作命令:

  • Docker commit? 將容器保存為一個新的鏡像

  • Docker create? 從鏡像創建一個容器,該容器狀態為stop

  • Docker run? 從鏡像創建一個容器并將該容器啟動

  • Docker diff 檢查自鏡像運行之后,容器里文件結構的更改


容器與tar文件相關的操作命令:

  • Docker export? 將容器導出為一個tar文件


容器自身的其他操作命令:

  • Docker inspect? 獲取容器/鏡像的元數據

  • Docker attach? 連接到正在運行中的容器

  • Docker port? 列出指定的容器的端口映射

  • Docker ps 查看系統中的容器

  • Docker top 查看容器中運行的進程信息

  • Docker rm? 刪除容器

  • Docker logs? 獲取容器的日志

  • Docker wait? 阻塞運行直到容器停止,然后打印出它的退出代碼

  • Docker exec? 在運行的容器中執行命令

  • Docker network 操作容器網絡


4.?與鏡像相關的命令


容器與鏡像相關的操作命令:

  • Docker commit? 將容器保存為一個新的鏡像

  • Docker create? 從鏡像創建一個容器,該容器狀態為stop

  • Docker run? 從鏡像創建一個容器并將該容器啟動

  • Docker diff 檢查自鏡像運行之后,容器里文件結構的更改


鏡像與tar files相關的命令:

  • Docker import? 將tar文件load為鏡像,會丟失相關的元數據和歷史記錄

  • Docker load? 將tar文件load為鏡像

  • Docker save? 將鏡像保存為tar文件


鏡像與dockerfile相關的命令:

  • Docker build? 基于dockerfile構建鏡像


鏡像與倉庫相關的命令:

  • Docker pull? 從倉庫下載鏡像

  • Docker push? 將鏡像上傳至倉庫


鏡像自身的命令:

  • Docker images 列舉鏡像

  • Docker rmi 刪除鏡像

  • Docker tag 為鏡像打上標簽

  • Docker inspect? 列出鏡像的詳細信息

  • Docker history? 列出鏡像的構建歷史


5. 與 tar files相關的命令

  • Docker export? 將容器導出tar文件

  • Docker import? 將tar文件load為鏡像,會丟失相關的元數據和歷史記錄

  • Docker load? 將tar文件load為鏡像

  • Docker save? 將鏡像保存為tar文件


6.?與dockerfile相關的命令:

  • Docker build? 基于dockerfile構建鏡像


7.?與Registry相關的命令:


鏡像與倉庫相關的命令:

Docker pull? 從倉庫下載鏡像

Docker push? 將鏡像上傳至倉庫


倉庫自身的命令:

Docker search ?在倉庫中查找某個鏡像

Docker login? 登錄倉庫

Docker logout? 登出倉庫


其他docker命令學習示意圖

Docker命令學習示意圖:

Docker操作實踐(3):Docker的操作詳解圖片來源:https://blog.csdn.net/yuanfenger/article/details/73316481

Docker命令學習示意圖:

Docker操作實踐(3):Docker的操作詳解圖片來源:https://www.twblogs.net/a/5c290471bd9eee01606d2e41


Docker run命令簡介

Docker run命令的作用在于從一個容器鏡像生成一個容器實例并將其啟動。


Docker run的主要命令參數如下:

Docker操作實踐(3):Docker的操作詳解


Docker run命令關鍵參數說明


1.?-i? -t? -d

使用docker run -it [IMAGE_NAME] 可以啟動一個容器,并進入命令行交互界面:


Docker操作實踐(3):Docker的操作詳解


使用exit可退出此容器

使用-d可以讓容器在后臺運行:


Docker操作實踐(3):Docker的操作詳解

2.?--ip

--ip可以為容器指定ip地址,先使用docker network ls查看主機上的docker網絡:


Docker操作實踐(3):Docker的操作詳解

Docker操作實踐(3):Docker的操作詳解


使用--ip參數啟動容器:


Docker操作實踐(3):Docker的操作詳解

此時會報錯,如果要使用自定義ip,只能使用自定義的容器網絡。先創建自定義的容器網絡:


Docker操作實踐(3):Docker的操作詳解


也可以在創建時手動指定容器的子網:


Docker操作實踐(3):Docker的操作詳解


重新運行指定容器ip的命令:


Docker操作實踐(3):Docker的操作詳解


執行成功,查看容器ip地址:


Docker操作實踐(3):Docker的操作詳解

3.?-h? –name

-h指定容器中的主機名,--name指定容器的名字

Docker操作實踐(3):Docker的操作詳解

Docker操作實踐(3):Docker的操作詳解

4.?-p

-p 可以將主機上的端口映射到容器中。-p 8088:80 表示將主機的8088端口映射到容器的80端口上:

Docker操作實踐(3):Docker的操作詳解


Docker操作實踐(3):Docker的操作詳解

5.?-v

--privileged表示將對主機的文件更改的權限賦予此容器, -v 表示將主機的 /host/v1 目錄映射給容器上的 /con/logs目錄 ,如果容器中沒有此目錄,則會自動創建。執行命令?

docker run -it --privileged -v /host/v1:/con/logs centos

Docker操作實踐(3):Docker的操作詳解


在主機上的相應目錄可看到容器中對該目錄寫入的內容


Docker操作實踐(3):Docker的操作詳解


為容器掛載主機上的卷并設置容器只有對此卷的只讀權限:?

docker run -it –privileged -v /host/v1:/con/logs:ro centos


Docker操作實踐(3):Docker的操作詳解

6.?-m -c

-m用來指定容器內存,-c可用于指定容器的cpu配額


我們可以下載progrium/stress容器來測試容器的配額指定。使用以下命令查看該容器有哪些測試功能:

Docker操作實踐(3):Docker的操作詳解

使用docker run -m 2000m可啟動一個內存占用2000MB的容器,但該容器中未進行什么進程時,該容器并不會直接占用主機2000MB的內存。此時我們可以啟動stress容器,并使用--vm 1和 –vm-bytes 2000M表示啟動stress容器時在其中啟動一個占用內存2000M的進程:

Docker操作實踐(3):Docker的操作詳解

如果我們在一個總限額為2000MB的stress容器中啟動3個占用500MB的進程,總共1500MB,那么情況如下:

Docker操作實踐(3):Docker的操作詳解


在容器中是運行超過容器內存限額的進程的:

Docker操作實踐(3):Docker的操作詳解


關于cpu限制,--cpu-share表示主機上運行的容器的cpu使用權重的定義。由于主機上有4個cpu核,所有需 --cpu 4參數在容器中啟動4個進程以便將主機的cpu全部占滿。

Docker操作實踐(3):Docker的操作詳解


關于docker run中的 --cpus 參數,則是指定cpu的個數。當主機上有4個cpu時,容器只會使用總共1個cpu,也就是4分之1。

Docker操作實踐(3):Docker的操作詳解


此數值也可以為小數,如0.5 ,那么容器只會使用此主機8分之1的cpu。

Docker操作實踐(3):Docker的操作詳解


當數值與主機的cpu核數相同時,將可使用此主機的所有cpu配額,可以看到4個cpu全滿。

Docker操作實踐(3):Docker的操作詳解

我們可以啟動5個占滿cpu的進程而不是4個,情況如下:

Docker操作實踐(3):Docker的操作詳解


作者:沈曉龍




好文推薦

Docker操作實踐(2):Docker的安裝及架構介紹

Docker操作實踐(1):容器的本質是什么?容器從何而來?

使用sqlplus進行Oracle數據庫批量自動發布

業務復雜、數據龐大、應用廣怎辦?了解下分布式事務的解決思路!

贛州銀行增強科技創新,實現一鍵災備切換


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南溪县| 渑池县| 霍山县| 铜川市| 奉化市| 海盐县| 阿鲁科尔沁旗| 买车| 城口县| 邯郸县| 交口县| 宁波市| 台江县| 开鲁县| 大余县| 会宁县| 汨罗市| 宁明县| 疏附县| 五台县| 滨海县| 南昌市| 郓城县| 绍兴市| 五原县| 丹东市| 马公市| 房产| 康乐县| 定结县| 临汾市| 甘肃省| 清镇市| 古蔺县| 同仁县| 西充县| 南澳县| 友谊县| 北川| 镇远县| 罗源县|