一千萬個為什麽

搜索

Docker容器測試自動化的最佳工具?



在我的項目中,我正在構建大約200個容器,如果容器在流水線重建後仍在運行,我想在煙霧測試中檢查。

我想調出具有特定參數的容器,並檢查它是否在端口上響應(服務正在啟動),或者在容器內部運行簡單測試。 最好的辦法是使用docker-compose來啟動容器,這樣可以很容易地配置paramateres。

一個nginx容器的例子

  1. 在容器中運行“nginx -t”以檢查容器是否仍然有一個有效的配置文件
  2. 檢查nginx是否在端口80和443上公開服務

與其他容器類似,主要主題是檢查休息服務的端口。調出容器後,應該運行測試,然後再關閉整個系統。

什麽是自動完成此類事情的最佳工具 - 而不是手動編寫所有內容?

轉載註明原文: Docker容器測試自動化的最佳工具?

一共有 2 個回答:

盡管我們正在部署到Kubernetes,但我們發現 docker-compose 是在CI中運行測試的一種很好的方式。要麽在您的容器中設置 IS_TEST 標誌,要麽使用單獨的 Dockerfile 測試腳本進行連接。這樣,您可以運行 docker-compose build 來測試,並引入您可能需要的任何依賴關系。

可以使用 serverspec 來測試像nginx這樣的服務是否暴露端口,例如.e.g:

require 'spec_helper'

describe port(80) do
  it { should be_listening }
end

describe port(443) do
  it { should be_listening }
end

一旦編寫了serverspec代碼,就可以創建一個啟動nginx的腳本,隨後運行serverspec並最終銷毀nginx。