久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Docker的特點有哪些

188次閱讀
沒有評論

共計 3231 個字符,預(yù)計需要花費 9 分鐘才能閱讀完成。

這篇文章給大家分享的是有關(guān) Docker 的特點有哪些的內(nèi)容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。

Docker 是一個能夠把開發(fā)應(yīng)用程序自動部署到容器的開源引擎。它由 Docker 公司的團隊編寫,基于 Apache 2.0 開源協(xié)議授權(quán)。它提供了一個簡單、輕量的建模方式,使開發(fā)生命周期更高效快速,鼓勵了面向服務(wù)的架構(gòu)設(shè)計。Docker 項目的目標(biāo)是實現(xiàn)輕量級的操作系統(tǒng)虛擬化解決方案。Docker 的基礎(chǔ)是 Linux 容器(LXC)等技術(shù)。在 LXC 的基礎(chǔ)上 Docker 進行了進一步的封裝,讓用戶不需要去關(guān)心容器的管理,使得操作更為簡便。用戶操作 Docker 的容器就像操作一個快速輕量級的虛擬機一樣簡單。

Docker 的特點:

更快速的交付和部署

更高效的虛擬化

更輕松的遷移和擴展

更簡單的管理

容器技術(shù)與傳統(tǒng)虛擬機性能對比

Docker 與虛擬機建構(gòu)對比

Docker 容器本質(zhì)上是宿主機上的一個進程。Docker 通過 namespace 實現(xiàn)了資源隔離,通過 cgroups 實現(xiàn)了資源的限制,通過寫時復(fù)制機制(copy-on-write)實現(xiàn)了高效的文件操作。

Docker 有五個命名空間:進程、網(wǎng)絡(luò)、掛載、宿主和共享內(nèi)存,為了隔離有問題的應(yīng)用,Docker 運用 Namespace 將進程隔離,為進程或進程組創(chuàng)建已隔離的運行空間,為進程提供不同的命名空間視圖。這樣,每一個隔離出來的進程組,對外就表現(xiàn)為一個 container(容器)。需要注意的是,Docker 讓用戶誤以為自己占據(jù)了全部資源,但這并不是”虛擬機”。

Docker 中的三個概念:鏡像,容器,倉庫

鏡像(image):Docker 鏡像就是一個只讀的模板,鏡像可以用來創(chuàng)建 Docker 容器。Docker 提供了一個很簡單的機制來創(chuàng)建鏡像或者更新現(xiàn)有的鏡像,用戶甚至可以直接從其他人那里下載一個已經(jīng)做好的鏡像來直接使用。
鏡像是一種文件結(jié)構(gòu)。Dockerfile 中的每條命令都會在文件系統(tǒng)中創(chuàng)建一個新的層次結(jié)構(gòu),文件系統(tǒng)在這些層次上構(gòu)建起來,鏡像就構(gòu)建于這些聯(lián)合的文件系統(tǒng)之上。Docker 官方網(wǎng)站專門有一個頁面來存儲所有可用的鏡像,網(wǎng)址是:index.docker.io。

容器(Container):容器是從鏡像創(chuàng)建的運行實例。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平臺。可以把容器看做是一個簡易版的 Linux 環(huán)境,Docker 利用容器來運行應(yīng)用。鏡像是只讀的,容器在啟動的時候創(chuàng)建一層可寫層作為最上層。

倉庫:倉庫是集中存放鏡像文件的場所,倉庫注冊服務(wù)器(Registry)上往往存放著多個倉庫,每個倉庫中又包含了多個鏡像,每個鏡像有不同的標(biāo)簽(tag)。目前,最大的公開倉庫是 Docker Hub,存放了數(shù)量龐大的鏡像供用戶下載。

Docker 倉庫用來保存我們的 images,當(dāng)我們創(chuàng)建了自己的 image 之后我們就可以使用 push 命令將它上傳到公有或者私有倉庫,這樣下次要在另外一臺機器上使用這個 image 時候,只需要從倉庫上 pull 下來就可以了。Docker 倉庫的概念跟 Git 類似,注冊服務(wù)器可以理解為 GitHub 這樣的托管服務(wù)。

一. 安裝 Docker

前提條件:
Docker 運行對內(nèi)核要求比較高,因此一般建議直接在 Ubuntu 這樣的平臺運行。但作為一個容器標(biāo)準(zhǔn),Docker 也是支持其他如 CentOS, Mac OS X, Windows 等平臺。目前 Docker 支持以下版本 CentOS:

CentOS 7(64 位)

CentOS 6.5(64 位) 及以后

在運行 CentOS 6.5 及以后版本時,需要內(nèi)核版本 =2.6.32-431,因為這些內(nèi)核包含了運行 Docker 的一些特定修改。

Docker 默認使用 AUFS 作為存儲驅(qū)動,但是 AUFS 并沒有被包括在 Linux 的主線內(nèi)核中。CentOS 中可以使用 Device Mapper 作為存儲驅(qū)動,這是在 2.6.9 內(nèi)核版本引入的新功能。我們需要先確認是否啟用該功能:

CentOS 7

Docker RPM 包已經(jīng)包含在 CentOS-Extra 倉庫中,所以我們可以直接使用 Yum 安裝:

# yum install docker

CentOS 6.6

需要注意的是,CentOS6.6 中,已經(jīng)有一個同名 docker 的可執(zhí)行系統(tǒng)程序包。所以 Docker RPM 包命名為 docker-io,我們先卸掉 docker。

# yum -y remove docker

第三步 Install Docker-IO

# yum -y install docker-io

這樣完成了 Docker 的安裝。

# /etc/init.d/docker start #啟動 docker
# docker info #查看 docker 基本信息

二. Docker 基本操作

# docker run -d --name mynginx nginx # 啟動 nginx 鏡像,沒有會自動 pull
# docker stop bfd094233f96 # 停止一個容器,根據(jù)容器  id  進行刪除
# docker rm bfd094233f96 # 刪除一個容器
# docker attach d20f3dc6cd92 # 進入一個正在運行的容器 

-t 選項讓 Docker 分配一個偽終端(pseudo-tty)并綁定到容器的標(biāo)準(zhǔn)輸入上,
-i 則讓容器的標(biāo)準(zhǔn)輸入保持打開。
–name 使用一個自定義的名字

此命令不太好用,建議使用以下命令進入容器:

[root@localhost docker] docker inspect --format  {{.State.Pid}}  mynginx # 獲取容器 pid 19769
[root@localhost docker] nsenter --target 19769 --mount --uts --ipc --net --pid # 進入容器 (推薦方法)
docker run -d -p 91:80 --name mynginx2 nginx # -p  指定端口映射,將 80 映射為 host 的 91

存儲鏡像:

# docker save -o ubuntu_14.04.tar ubuntu:14.04

載入鏡像:

# docker load   ubuntu_14.04.tar  或者使用  
# cat ubuntu.tar | docker import - test/ubuntu:v1.0

移除本地鏡像:

# docker rmi training/sinatra
清理所有未打過標(biāo)簽的本地鏡像:

# docker rmi $(docker images -q -f dangling=true)
其中 -q 和 -f 是 quiet,–filter 的縮寫, 完整的命令其實可以寫著下面這樣,是不是更容易理解一點?

# docker rmi $(docker images –quiet –filter dangling=true)
注:容器是否會長久運行,是和 docker run 指定的命令有關(guān),和 -d 參數(shù)無關(guān)。

要獲取容器的輸出信息,可以通過 docker logs 命令。
# docker logs [container ID or NAMES]

刪除容器:
# docker rm 默認并不會刪除運行中的容器

有關(guān)容器和鏡像的底層信息:
# docker inspect container/image

可以查看:
容器實例的 IP 地址
端口綁定列表
特定端口映射的搜索
收集配置的詳細信息

從容器內(nèi)復(fù)制文件到指定的路徑上:
# docker cp container:path hostpath

使用 Dockerfile 來構(gòu)建鏡像:
# docker build [options] PATH | URL

–rm=true 表示構(gòu)建成功后,移除所有中間容器
–no-cache=false 表示在構(gòu)建過程中不使用緩存

感謝各位的閱讀!關(guān)于“Docker 的特點有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-16發(fā)表,共計3231字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 阿克苏市| 古丈县| 云梦县| 化州市| 安泽县| 福海县| 龙胜| 嘉义县| 宿松县| 柳河县| 富平县| 湘乡市| 曲沃县| 漳州市| 措勤县| 苏尼特右旗| 温宿县| 新昌县| 惠来县| 保定市| 宿松县| 鹤峰县| 丹巴县| 江达县| 崇文区| 涞源县| 扶风县| 康保县| 乃东县| 布拖县| 松潘县| 桃源县| 威海市| 宁阳县| 丰宁| 东源县| 廉江市| 鞍山市| 云龙县| 太和县| 白银市|