国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 運(yùn)維 Docker docker能用來幹什麼的

docker能用來幹什麼的

Nov 22, 2021 pm 04:46 PM
docker

docker能用來做的事情有:1、可以快速搭建開發(fā)環(huán)境;2、可以將運(yùn)行環(huán)境和配置放在程式碼中並部署;3、可以使用docker-compose來模擬生產(chǎn)環(huán)境; 4、進(jìn)行自動測試;5、使用docker映像進(jìn)行自我部署等等。

docker能用來幹什麼的

本文操作環(huán)境:linux5.9.8系統(tǒng)、docker-1.13.1版、Dell G3電腦。

docker能用來幹嘛的?

Docker 是一個開源的應(yīng)用程式容器引擎,讓開發(fā)者可以打包他們的應(yīng)用程式以及依賴套件到一個可移植的映像中,然後發(fā)佈到任何流行的?Linux或Windows作業(yè)系統(tǒng)的機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,彼此之間不會有任何介面。

為什麼要用Docker?

作為一種新興的虛擬化方式,Docker 跟傳統(tǒng)的虛擬化方式相比具有眾多的優(yōu)勢。

首先,Docker 容器的啟動可以在秒級實(shí)現(xiàn),這相比傳統(tǒng)的虛擬機(jī)器方式要快得多。其次,Docker 對系統(tǒng)資源的使用率很高,一臺主機(jī)上可以同時運(yùn)行數(shù)千個 Docker 容器。

容器除了運(yùn)作其中應(yīng)用程式外,基本上不消耗額外的系統(tǒng)資源,使得應(yīng)用的效能很高,同時系統(tǒng)的開銷盡量小。傳統(tǒng)虛擬機(jī)方式運(yùn)行 10 個不同的應(yīng)用程式就要起 10 個虛擬機(jī),而Docker 只需要啟動 10 個隔離的應(yīng)用機(jī)。

具體說來,Docker 在下列幾個方面具有較大的優(yōu)勢。

  • 更快速的交付和部署

對開發(fā)和維運(yùn)(devop)人員來說,最希望的就是一次創(chuàng)建或配置,可以在任意地方正常運(yùn)作。

開發(fā)者可以使用一個標(biāo)準(zhǔn)的映像來建構(gòu)一套開發(fā)容器,開發(fā)完成之後,維運(yùn)人員可以直接使用這個容器來部署程式碼。 Docker 可以快速建立容器,快速迭代應(yīng)用程序,並讓整個流程全程可見,使團(tuán)隊(duì)中的其他成員更容易理解應(yīng)用程式是如何建立和工作的。 Docker 容器很輕很快!容器的啟動時間是秒級的,大量地節(jié)省開發(fā)、測試、部署的時間。

  • 更有效率的虛擬化

Docker 容器的運(yùn)作不需要額外的hypervisor 支持,它是核心級的虛擬化,因此可以實(shí)現(xiàn)更高的性能和效率。

  • 更輕鬆的遷移和擴(kuò)展

Docker 容器幾乎可以在任意的平臺上運(yùn)行,包括實(shí)體機(jī)器、虛擬機(jī)器、公有雲(yún)、私有雲(yún)、個人電腦、伺服器等。這種相容性可以讓使用者把一個應(yīng)用程式從一個平臺直接遷移到另外一個。

  • 更簡單的管理

使用 Docker,只需要小小的修改,就可以取代以往大量的更新工作。所有的修改都以增量的方式被分發(fā)和更新,從而實(shí)現(xiàn)自動化並且有效率的管理。

Docker 的九個常用應(yīng)用程式場景

1. 本地依賴(Local Dependency)

你需要在本機(jī)系統(tǒng)快速嘗試Magento,或是為一個專案使用MySQL?還是希望嘗試大部分開源專案?那就使用 Docker 吧,它將幫助你節(jié)省大量時間。 Docker 能提升開發(fā)者的開發(fā)效率,讓我們快速建置開發(fā)環(huán)境。

開發(fā)環(huán)境的機(jī)器通常內(nèi)存比較小,此前使用虛擬的時候,經(jīng)常需要為開發(fā)環(huán)境的機(jī)器加內(nèi)存,而通過 Docker 可以輕易的讓幾十個服務(wù)在 Docker 中跑起來。

2. 建造環(huán)境(Build Environment)

如果你希望建立原始碼,但發(fā)現(xiàn)沒有準(zhǔn)備好合適的環(huán)境。那麼使用 Docker 是一個值得考慮的方案。畢竟如果使用傳統(tǒng)的方法一個接一個地安裝軟體,一大堆軟體安裝下來確實(shí)十分費(fèi)時,使用容器技術(shù)省時省力,何樂而不為?

它能讓你將運(yùn)行環(huán)境和配置放在程式碼中然後部署,同一個 Docker 的配置可以在不同的環(huán)境中使用,這樣就降低了硬體需求和應(yīng)用環(huán)境之間耦合度。這裡有一個值得一看的例子: docker golang builder。

3. 微服務(wù)(Microservices)

你在使用微服務(wù)嗎?微服務(wù)架構(gòu) —— 將一個整體式的應(yīng)用程式拆分成鬆散耦合的單一服務(wù)。

那不妨考慮 Docker,你可以將每個服務(wù)打包為一個 docker 映像並使用 docker-compose 來模擬生產(chǎn)環(huán)境(checkout docker networks)。最開始實(shí)踐的時候可能會比較費(fèi)時費(fèi)力,但長遠(yuǎn)來看,最終將產(chǎn)生巨大的生產(chǎn)力。

4. 自動測試(Automated testing)

試想這樣一個問題,如何編寫自動化的整合測試案例,這些測試用例無需花很長時間來開始運(yùn)行,用戶也可輕鬆管理。

這裡不是指在 Docker 中執(zhí)行測試用例,而是將測試用例與映像緊密運(yùn)行在一起。當(dāng)你針對一個 docker 映像編寫測試案例時會有一個很大的優(yōu)勢。以下簡單介紹一下我的測試流程:執(zhí)行兩個 docker 映像(app db),在 MySQL 啟動時載入數(shù)據(jù),並在 app docker 上使用 API。

5. 部署過程(Deployment process)

你可以使用 docker 映像進(jìn)行自我部署。許多主流的主機(jī)提供者都支援託管 docker,如果你擁有一個具有 shell 存取權(quán)限的專用節(jié)點(diǎn)/vm,那麼事情將變得更容易。只需要設(shè)定好 docker,並在你想要的連接埠上執(zhí)行你的映像即可。

6. 持續(xù)部署(Continuous Deployment)

都說Docker 天生適合持續(xù)整合/持續(xù)部署,在部署中使用Docker,持續(xù)部署將變得非常簡單,並會在進(jìn)入新的鏡像後重新開始。

關(guān)於這個部分的自動化工作,現(xiàn)在已經(jīng)有許多方案以供選擇,Kubernetes 就是一個耳熟能詳?shù)拿帧?Kubernetes是容器叢集管理系統(tǒng),是一個開源的平臺,可以實(shí)現(xiàn)容器叢集的自動化部署、自動擴(kuò)縮容、維護(hù)等功能。

7. 多租用戶環(huán)境(Multi-tenancy)

Docker 有趣的一個使用場景是在多租用戶的應(yīng)用程式中,它可以避免關(guān)鍵應(yīng)用的重寫。如果你將應(yīng)用程式服務(wù)公開給多個租戶(租戶指一組用戶,例如組織),使用單一租戶方案設(shè)計(jì)的應(yīng)用程式如果用上了 sub-domain docker 可以快速獲得提供多租戶的服務(wù)。

關(guān)於這個場景的一個例子是為物聯(lián)網(wǎng)的應(yīng)用開發(fā)一個快速、易用的多租戶環(huán)境。這種多租戶的基本程式碼非常複雜,很難處理,重新規(guī)劃這樣一個應(yīng)用程式不但消耗時間,也浪費(fèi)金錢。使用 Docker,可以為每個租用戶的應(yīng)用層的多個實(shí)例建立隔離的環(huán)境,這不僅簡單而且成本低廉,當(dāng)然這一切得益於 Docker 環(huán)境的啟動速度和其高效的 diff 命令。

8. 來自一臺機(jī)器的多個APP(Multiple apps from one machine)

這與上面提到的微服務(wù)有些聯(lián)繫,但即使你沒有使用微服務(wù),只是提供服務(wù),Docker 仍可以很好地管理單一機(jī)器上的所有服務(wù)。你應(yīng)該使用資料夾掛載來為每個基於資料的 docker 映像保留資料。

9. 擴(kuò)容 QPS(Scaling QPS)

Docker 透過建立另一個容器來幫助你輕鬆地進(jìn)行水平擴(kuò)展。如果遇到龐大的高峰流量,Docker 可以幫助你解決問題 —— 只需增加更多的機(jī)器並增加負(fù)載平衡器背後運(yùn)行的容器數(shù)量。

還有文章沒提到的 Docker 的應(yīng)用程式場景?歡迎你和大家一起分享~

本文最初發(fā)表在oschina,文章內(nèi)容屬作者個人觀點(diǎn),不代表本站立場。

推薦學(xué)習(xí):《docker影片教學(xué)

以上是docker能用來幹什麼的的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276
.NET Core快速入門教程 1、開篇:說說.NET Core的那些事兒 .NET Core快速入門教程 1、開篇:說說.NET Core的那些事兒 May 07, 2025 pm 04:54 PM

一、.NETCore的起源談到.NETCore,就不能不提它的前身.NET。當(dāng)年Java風(fēng)頭正盛,微軟也對Java青睞有加,Windows平臺上的Java虛擬機(jī)就是微軟依據(jù)JVM標(biāo)準(zhǔn)開發(fā)的,據(jù)稱是當(dāng)時性能最佳的Java虛擬機(jī)。然而,微軟有自己的小算盤,試圖將Java與Windows平臺捆綁,增加一些Windows特有的功能。 Sun公司對此不滿,導(dǎo)致雙方關(guān)係破裂,微軟隨後推出了.NET。 .NET從誕生之初就借鑒了Java的許多特性,並在語言特性和窗體開發(fā)等方面逐漸超越了Java。 Java在1.6版

怎樣開發(fā)一個完整的PythonWeb應(yīng)用程序? 怎樣開發(fā)一個完整的PythonWeb應(yīng)用程序? May 23, 2025 pm 10:39 PM

要開發(fā)一個完整的PythonWeb應(yīng)用程序,應(yīng)遵循以下步驟:1.選擇合適的框架,如Django或Flask。 2.集成數(shù)據(jù)庫,使用ORM如SQLAlchemy。 3.設(shè)計(jì)前端,使用Vue或React。 4.進(jìn)行測試,使用pytest或unittest。 5.部署應(yīng)用,使用Docker和平臺如Heroku或AWS。通過這些步驟,可以構(gòu)建出功能強(qiáng)大且高效的Web應(yīng)用。

查看Docker容器內(nèi)部進(jìn)程信息的方法 查看Docker容器內(nèi)部進(jìn)程信息的方法 May 19, 2025 pm 09:06 PM

查看Docker容器內(nèi)部進(jìn)程信息有三種方法:1.使用dockertop命令,可以列出容器內(nèi)所有進(jìn)程,顯示PID、用戶、命令等信息;2.使用dockerexec進(jìn)入容器內(nèi)部,再用ps或top命令查看詳細(xì)進(jìn)程信息;3.使用dockerstats命令,實(shí)時顯示容器資源使用情況,結(jié)合dockertop可全面了解容器性能。

如何在Ubuntu上部署PyTorch應(yīng)用 如何在Ubuntu上部署PyTorch應(yīng)用 May 29, 2025 pm 11:18 PM

在Ubuntu上部署PyTorch應(yīng)用可以通過以下步驟完成:1.安裝Python和pip首先,確保你的系統(tǒng)上已經(jīng)安裝了Python和pip。你可以使用以下命令來安裝它們:sudoaptupdatesudoaptinstallpython3python3-pip2.創(chuàng)建虛擬環(huán)境(可選)為了隔離你的項(xiàng)目環(huán)境,建議創(chuàng)建一個虛擬環(huán)境:python3-mvenvmyenvsourcemyenv/bin/activat

Debian上Jenkins部署性能調(diào)優(yōu) Debian上Jenkins部署性能調(diào)優(yōu) May 28, 2025 pm 04:51 PM

在Debian上部署和調(diào)優(yōu)Jenkins是一個涉及多個步驟的過程,包括安裝、配置、插件管理和性能優(yōu)化。以下是一個詳細(xì)的指南,幫助你實(shí)現(xiàn)高效的Jenkins部署。安裝Jenkins首先,確保你的系統(tǒng)已經(jīng)安裝了Java環(huán)境。 Jenkins需要Java運(yùn)行時環(huán)境(JRE)才能正常運(yùn)行。 sudoaptupdatesudoaptinstallopenjdk-11-jdk驗(yàn)證Java安裝成功:java-version接下來,添加J

批量停止Docker容器的高效操作方法 批量停止Docker容器的高效操作方法 May 19, 2025 pm 09:03 PM

批量停止Docker容器的高效方法包括使用基本命令和工具。 1.使用dockerstop$(dockerps-q)命令,並可調(diào)整超時時間,如dockerstop-t30$(dockerps-q)。 2.利用dockerps的過濾選項(xiàng),如dockerstop$(dockerps-q--filter"label=app=web")。 3.使用DockerCompose命令docker-composedown。 4.編寫腳本按順序停止容器,如停止db、app和web容器。

比較不同Docker鏡像版本差異的方法 比較不同Docker鏡像版本差異的方法 May 19, 2025 pm 09:00 PM

比較不同Docker鏡像版本差異的方法有兩種:1.使用dockerdiff命令查看容器文件系統(tǒng)變化;2.使用dockerhistory命令查看鏡像構(gòu)建層級差異。這些方法有助於理解和優(yōu)化鏡像版本管理。

如何在Debian上實(shí)現(xiàn)Docker的自動化部署 如何在Debian上實(shí)現(xiàn)Docker的自動化部署 May 28, 2025 pm 04:33 PM

在Debian系統(tǒng)上實(shí)現(xiàn)Docker的自動化部署可以通過多樣的方法來完成,以下是詳細(xì)的步驟指南:1.安裝Docker首先,確保你的Debian系統(tǒng)保持最新狀態(tài):sudoaptupdatesudoaptupgrade-y接著,安裝必要的軟件包以支持APT通過HTTPS訪問倉庫:sudoaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-common-y導(dǎo)入Docker的官方GPG密鑰:curl-

See all articles