本篇教程持續編寫了3個星期左右並且一直在完善、補充具體的細節和實踐,預計全部完成需要1到2個月的時間。由於編寫的過程中極其費時,並且還需要配合做一些實踐(有些實踐存在一些坑,而且極其費時費事)。因此目前產出的速度已經跟不上發布的速度了,後續的發布節奏會放慢,請大家多多理解和多多包含。
在這個過程中,我們希望能夠多多交流,多多分享。根據目前和大家的交流,筆者針對大家的情況進行了一些修改和補充,希望對大家有所幫助。另外,對於熟悉容器服務的你,也可以參與進來,讓我們一起打造這個系列教程,以幫助更多的人。同時,我們也希望得到大家的支援,你們的支援是我們前進的最大動力!
如果應用程式只有乙個容器,則可通過將其部署到 docker 主機(虛擬機器或物理伺服器)來執行該程式。 但如果應用程式包含多項服務,則可使用單個 cli 命令 (docker-compose up) 或使用 visual studio(會在其中使用該命令)將其部署為組合應用程式。
單個應用,就如我們上面的demo :
應用程式啟動後,使用瀏覽器開啟http://localhost:8000,即可看到以下介面:
執行之後,我們可以看到:
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 login --username --password
推送成功之後,如下所示:
部署完成之後,我們可以繼續產品或專案的迭代。在整個開發工作流中,我們可以顯著的看到,由於docker的出現,在一定層次上改變了我們的工作和交付流程,並且可以大大的簡化ci、cd流程。或者就從構建上來說,配置dockerfile來完成構建,比傳統的方式來的迅猛多了。而配置docker-compose.yml一次啟動多個服務,簡直是分布式架構、微服務架構開發和測試人員的福音。
至此,整個docker持續開發工作流程就到此結束,在後面的篇幅,我們側重於從實戰的角度來講解這些內容。
這裡,我們先插播乙個內容。本節,我們先來介紹下kitematic。
kitematic是乙個開源專案,旨在簡化在mac或windows pc上使用docker的過程。kitematic自動化docker安裝和設定過程,並提供直觀的圖形使用者介面(gui)來執行docker容器。
安裝完成之後,啟動後可以看到如下介面:
注意:如果安裝完成後如果無法開啟,請將kitematic安裝後的檔案遷移到docker指定目錄【c:\program files\docker\kitematic】。
posted @
2018-12-06 09:50
雪雁 閱讀(
...)
編輯收藏
Docker最全教程 從理論到實戰(十六)
go 又稱golang 是google開發的一種靜態強型別 編譯型 並髮型,並具有垃圾 功能的程式語言。在2016年,go被軟體評價公司tiobe 選為 tiobe2016 年最佳語言 和其他語言的規定相比,在go中有幾項不同的強制的規定,當不匹配以下規定時編譯將會產生錯誤 相比其他語言,go語言主...
Docker最全教程 從理論到實戰(四)
貨真價實 確保都是3700公尺海拔以上的超風乾氂牛肉,115元一斤包郵 貨真價實 低於 京東 我們不賺差價 有香辣 五香兩種口味,三斤氂牛肉才能做出一斤超風乾牛肉!希望這個冬天,我們能夠給他們一點點溫暖!有購買意向的朋友可以聯絡博主。建立了dockerfile之後,需為應用程式中的每項服務建立乙個相...
Docker最全教程 從理論到實戰(二十三)
傳統it往往都會過度購買配置,甚至上一年都有計畫下一年需要購買的虛擬機器和儲存資源,往往都會超買,造成了很多不必要的消費 雲資源一經購買,無論是否使用,均會按時收費 在雲端,k8s擁有極高的擴充套件性 自動化和可伸縮性,我們完全可以對雲資源按量付費並且設定設定自動伸縮。比如雲端的k8s集群,我們可以...