Docker最全教程——從理論到實戰(五)


往期內容鏈接

Docker最全教程——從理論到實戰(一)

Docker最全教程——從理論到實戰(二)

Docker最全教程——從理論到實戰(三)

Docker最全教程——從理論到實戰(四)

 

本篇教程持續編寫了3個星期左右並且一直在完善、補充具體的細節和實踐,預計全部完成需要1到2個月的時間。由於編寫的過程中極其費時,並且還需要配合做一些實踐(有些實踐存在一些坑,而且極其費時費事)。因此目前產出的速度已經跟不上發布的速度了,后續的發布節奏會放慢,請大家多多理解和多多包含。

在這個過程中,我們希望能夠多多交流,多多分享。根據目前和大家的交流,筆者針對大家的情況進行了一些修改和補充,希望對大家有所幫助。另外,對於熟悉容器服務的你,也可以參與進來,讓我們一起打造這個系列教程,以幫助更多的人。同時,我們也希望得到大家的支持,你們的支持是我們前進的最大動力!

 

運行 Docker 應用程序

如果應用程序只有一個容器,則可通過將其部署到 Docker 主機(虛擬機或物理服務器)來運行該程序。 但如果應用程序包含多項服務,則可使用單個 CLI 命令 (docker-compose up) 或使用 Visual Studio(會在其中使用該命令)將其部署為組合應用程序。

單個應用,就如我們上面的demo :

docker run --name aspnetcore_sample --rm -it -p 8000:80 microsoft/dotnet-samples:aspnetapp

應用程序啟動后,使用瀏覽器打開http://localhost:8000,即可看到以下界面:

但是如Magicodes.Admin框架所示,有后台接口、后台前端應用、前端接口、小程序端、APP等等,那么我們可以通過上面配置的docker-compose文件來部署為組合應用程序。執行起來很簡單,只需要運行以下命令:

docker-compose up

執行之后,我們可以看到:

Magicodes.Admin提供了本地編譯、打包、構建鏡像以及運行等整套腳本,在通常情況,我們僅需一鍵運行腳本即可。

腳本會自動完成對后台服務和前端應用的構建以及運行。在上一節中,我們說到,Visual Studio對這塊已經完成了相關的支持,如果是使用Visual Studio的開發者,僅需按下F5即可運行。

 

測試

容器正常運行了,我們可以讓測試人員來訪問我們的服務來進行相關的功能測試和可用性測試。當然,我們也可以編寫自定義腳本進行自動化測試,就如前面章節中Docker-compose常用場景中提到的自動化測試環境:

 

部署或繼續開發

開發完成后,我們就需要部署我們的應用,並且繼續項目迭代。在部署之前,我們需要推送我們的鏡像,比如使用docker push命令,我們可以將鏡像推送到docker的官方鏡像庫,也可以推送到各大雲自己的鏡像庫,然后再通過docker pull命令拉取鏡像進行部署。同時,也可以使用一些CI(持續集成)工具來完成自動化的邊開發邊部署的工作。CI這塊,我們接下來會介紹基於Azure DevOps、Tencent hub、Jenkins以及TeamCity等服務或工具來完成CI。在本節,我們繼續了解鏡像推送的語法:

docker push {鏡像名稱}:{鏡像版本}

在推送之前,我們需要登錄到一個鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub。相關語法如下所示:

docker login --username {用戶名} --password {密碼} {倉庫地址}

推送成功之后,如下所示:

關於部署和托管這塊,接下來我們以騰訊雲的容器服務進行舉例。

為什么是騰訊雲,因為他家的創業服務支持活動贊助了我們很多代金券,基本上接近免費,因此從成本考慮,我們首選騰訊雲(騰訊雲:瞎說什么大實話)。

部署完成之后,我們可以繼續產品或項目的迭代。在整個開發工作流中,我們可以顯著的看到,由於Docker的出現,在一定層次上改變了我們的工作和交付流程,並且可以大大的簡化CI、CD流程。或者就從構建上來說,配置dockerfile來完成構建,比傳統的方式來的迅猛多了。而配置docker-compose.yml一次啟動多個服務,簡直是分布式架構、微服務架構開發和測試人員的福音。

至此,整個Docker持續開發工作流程就到此結束,在后面的篇幅,我們側重於從實戰的角度來講解這些內容。

 

使用Kitematic來管理docker容器

這里,我們先插播一個內容。本節,我們先來介紹下Kitematic。

Kitematic是一個開源項目,旨在簡化在Mac或Windows PC上使用Docker的過程。Kitematic自動化Docker安裝和設置過程,並提供直觀的圖形用戶界面(GUI)來運行Docker容器。

因此,我們推薦大家使用Kitematic工具來查看和管理自己的容器服務,如果尚未安裝此工具,大家可以通過以下方式進行安裝:

  • 從Docker for Mac或Docker for Windows菜單中選擇Kitematic,開始使用Kitematic安裝。如下圖所示:

 

注意:這里我們不推薦使用Docker Toolbox,原因我們在前面已經說過,Docker Toolbox僅支持老版本的操作系統,屬於過時的工具。

安裝完成之后,啟動后可以看到如下界面:

也可以點擊某個服務來查看詳情、相關設置、日志等:

另外,Kitematic 集成了Docker Hub,允許通過搜索、拉取任何需要的鏡像,並在上面部署應用。它同時也能很好地切換到命令行模式。目前,它包括了自動映射端口、可視化更改環境變量、配置卷、流式日志以及其它功能。

注意:如果安裝完成后如果無法打開,請將Kitematic安裝后的文件遷移到Docker指定目錄【C:\Program Files\Docker\Kitematic】。

 

kitematic 是開源的,如果大家有興趣,可以訪問其開源庫下載全部源代碼進行研究:

https://github.com/docker/kitematic


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM