譯者 | 李睿
審校 | 孫淑娟
Docker擴展可以通過提高速度和生產力為開發人員節省大量時間和精力。開發人員可以嘗試采用,并實現CI/CD管道的自動化。
軟件開發領域如今正在以前所未有的速度變化,對更快發布周期的需求導致了虛擬化技術的激增。虛擬機(VM)已經存在很多年,但是近年來出現的容器讓它們相形見絀,因為虛擬機速度較慢,而且不像容器那么輕量。隨著微服務的普及,容器已經成為在輕量級環境中開發、測試和部署應用程序的虛擬機的一個很好替代品。
Docker是一種開源技術,它使用linux容器來虛擬化應用程序和其他軟件進程,這樣它們就可以在另一個容器中獨立且更安全地運行,就好像它們是同一臺計算機設備上獨立運行的應用程序一樣。
Docker將軟件應用程序打包在虛擬容器中,這樣它們就可以快速有效地運輸、部署和運行。這些容器就像應用程序的虛擬儲物柜。它們將應用程序及其依賴項打包,以便可以透明地在任何地方發布和運行。這意味著用戶可以從開發、測試、登臺或生產系統中獲得相同的用戶體驗。
1、Docker擴展
Docker公司在DockerCon 2022大會上發布了Docker擴展(Docker Extensions)。Docker擴展的理念是通過使用第三方工具(如插件)來幫助開發人員擴展其功能,可以通過單擊Docker桌面的擴展選項卡啟用可用的擴展。擴展提高了開發人員的工作效率,并使工作流更加順暢。開發人員可以在一個集中的地方使用他們喜歡的工具,即Docker桌面。
在探索各種有趣的擴展之前,先打開Docker桌面,從其首選項中啟用Docker擴展。
以下是一些開發人員必須擁有的Docker擴展,以加快他們的軟件開發。
2、DroneCI
眾所周知,持續集成(CI)是進行DevOps的第一步。當開發人員編寫代碼時,他們將代碼存儲在像Git這樣的源代碼控制管理工具中。然后在持續集成工具的幫助下測試和構建代碼。持續集成(CI)是每一種DevOps方法的重要組成部分。DroneCI是一個非常容易設置和使用的開源持續集成(CI)工具。現在有了這個擴展,用戶將能夠在筆記本電腦進行持續集成(CI)。只需要一個yml文件來定義步驟,然后就完成了。
可以采用一個簡單的Node.js應用程序來處理插件。以下是克隆的示例應用程序。
kind: pipeline
type: docker
name: default
platform:
os: linux
arch: arm64
steps:
- name: message
image: busybox
commands:
- echo “Hello Captain Canary”!
- name: test
image: node
commands:
- npm install
- npm test
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
可以直接從Docker桌面擴展選項卡安裝DroneCI擴展。
在安裝之后,單擊Drone CI擴展,將看到以下儀表板:
由于現在還沒有配置任何管道,應該看到一個空白的儀表板,沒有導入任何管道。
點擊“Import Pipeline”導入項目。擴展將顯示所有的項目,.drone.yml在里面。因此,從本地導入一個項目進行嘗試。
為了向你展示一個示例,導入了Simple-Node-App 項目,這是一個簡單的Node.js應用程序,包括簡單的測試。
下一步是運行管道,為此需要添加一些簡單的設置,將在點擊“運行/播放”按鈕時執行這些設置;將會看到下面的動作:
添加所需的字段,例如要運行的步驟、秘密文件(如果有的話,可以在secret.txt文件中指定)、環境文件等等。
一旦運行了應用程序,就會看到管道正在被執行。
3、vcluster
與Kube.NETes一起工作可能會令人不知所措。由于這涉及到一個巨大的學習曲線,開發人員需要花費更多的時間和精力來理解這個平臺。雖然這一切都是值得的,但是如果有工具可以幫助開發人員并幫助他們提高生產力呢?
vclusters就是這樣一個工具,可以使用它在任何Kubernetes集群上創建虛擬集群。與創建可能會增加云賬單的成熟集群不同,vcluster價格低廉,并具有多租戶的額外優勢。這將使需要設置不同開發和測試配置的任何人受益。
確保從Docker桌面首選項啟用Kubernetes。
vcluster擴展在Docker桌面擴展選項卡上很容易找到,點擊就可以安裝。
在安裝Docker擴展之后,將看到一個創建虛擬集群的簡單指示板。
然后,可以點擊“創建新集群”為集群命名,填寫必填字段,然后單擊“創建”。
填寫完所有必填字段之后,應該能夠看到集群正在被創建。在一段時間之后,應該會看到它在運行。
可以使用vcluster CLI驗證正在運行的集群。以下是列出vcluster的命令:
4、Microcks
Microcks是一個模擬和測試API和微服務的開源平臺,可以部署模擬并在本地試驗其他API。現在Docker擴展已經可用,可以有效地模擬和測試基于事件的API。Microks擴展在Docker桌面上隨時可用,只需單擊即可輕松安裝。
點擊“Launch Microcks” 選項卡:
Microcks開始運行,可以訪問localhost:8080來測試API。
轉到localhost:8080,應該會看到Microcks儀表板。
點擊“APi”和“Services” 選項卡。
選擇“REST API”并單擊“下一步”。
命名API、版本和資源,然后單擊“下一步”。
為這個實驗添加如下所示的虛擬JSON Reference Payload,然后單擊“下一步”。
最后一步是查看,一旦添加的數據是正確的,單擊“下一步”。
應該看到剛剛創建的API列表。
單擊它可以查看列出的帶有端點的CRUD操作。用Get進行測試。
復制鏈接并在本地瀏覽器上打開端點,應該會看到如下內容:
5、結論
Docker是任何軟件開發人員都必須了解的平臺。多年來,Docker已經建立了一個龐大的社區和支持群體。這是Docker幫助開發人員簡化軟件開發和部署工作的一項出色舉措。令人興奮的是,用戶可以構建自己的定制擴展。如果使用得當,上面列出的擴展可能會顯著影響開發人員的軟件交付管道。開發人員可以進行嘗試,以提高速度和生產力。
原文鏈接:https://dzone.com/articles/docker-desktop-extensions-every-developer-must-try