本篇教程持續編寫了3個星期左右而且一直在完善、補充具體的細節和實踐,預計所有完成須要1到2個月的時間。因爲編寫的過程當中極其費時,而且還須要配合作一些實踐(有些實踐存在一些坑,並且極其費時費事)。所以目前產出的速度已經跟不上發佈的速度了,後續的發佈節奏會放慢,請你們多多理解和多多包含。html
在這個過程當中,咱們但願可以多多交流,多多分享。根據目前和你們的交流,筆者針對你們的狀況進行了一些修改和補充,但願對你們有所幫助。另外,對於熟悉容器服務的你,也能夠參與進來,讓咱們一塊兒打造這個系列教程,以幫助更多的人。同時,咱們也但願獲得你們的支持,大家的支持是咱們前進的最大動力!前端
若是應用程序只有一個容器,則可經過將其部署到 Docker 主機(虛擬機或物理服務器)來運行該程序。 但若是應用程序包含多項服務,則可以使用單個 CLI 命令 (docker-compose up) 或使用 Visual Studio(會在其中使用該命令)將其部署爲組合應用程序。git
單個應用,就如咱們上面的demo :github
docker run --name aspnetcore_sample --rm -it -p 8000:80 microsoft/dotnet-samples:aspnetappdocker
應用程序啓動後,使用瀏覽器打開http://localhost:8000,便可看到如下界面:小程序
可是如Magicodes.Admin框架所示,有後臺接口、後臺前端應用、前端接口、小程序端、APP等等,那麼咱們能夠經過上面配置的docker-compose文件來部署爲組合應用程序。執行起來很簡單,只須要運行如下命令:瀏覽器
docker-compose up服務器
執行以後,咱們能夠看到:架構
Magicodes.Admin提供了本地編譯、打包、構建鏡像以及運行等整套腳本,在一般狀況,咱們僅需一鍵運行腳本便可。app
腳本會自動完成對後臺服務和前端應用的構建以及運行。在上一節中,咱們說到,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。
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 是開源的,若是你們有興趣,能夠訪問其開源庫下載所有源代碼進行研究: