Docker

在 Windows 10 下為 TeamCity 代理授權 docker

  • July 20, 2021

我有:

  • 團隊城市 CI
  • TeamCity 代理,作為 Windows 服務安裝在 Windows 10 中
  • 一些帶有集成測試的 Java 項目,基於TestContainers框架。
  • Sonatype Nexus 實例,配置為私有 docker 系統資料庫

基於 TestContainers 的測試需要 docker 在項目建構期間可用。執行測試所需的所有圖像都位於 Nexus 中。這反過來意味著 - 為了在 CI 上執行測試,我應該將 docker 驗證到 Nexus 以便能夠拉取它們。這就是問題所在。

我不明白我應該如何對 docker 進行身份驗證,即 Windows 服務(TeamCity 代理)。

通常,它由docker login. 我嘗試docker login從代理主機上的管理員 PowerShell 執行,它確實成功了 - 我現在可以從管理員控制台中提取圖像。但嘗試在 TeamCity 代理上執行測試失敗,在嘗試從 Nexus 拉取圖像時面臨 401 Unauthorized。就像,服務是從某個使用者那裡執行的,而這docker login並沒有完成。

我應該如何讓 docker 授權進入 Windows 10 TeamCity 代理服務的私有 docker 系統資料庫?

您可以在 Teamcity 中設置 docker 授權,方法是轉到 Build Configuration -> Build Features -> Add Build Feature -> Docker Support -> Add Registry Connection

引用自:https://serverfault.com/questions/1070009