Docker
在 Windows 10 下為 TeamCity 代理授權 docker
我有:
- 團隊城市 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