我正在使用 Microsoft Dynamics 365 Business Central。(ERP 软件)。
我试图在我的本地服务器上创建构建代理来设置与我的项目的持续集成。
在构建服务器上,我在 Windows 2019 上运行 Docker Enterprise。
当我启动我的 dockeragent 以促进构建时,我遇到了问题。
我的 CI 流程要求 dockeragent 启动另一个名为 navcontainerhelper 的 docker 容器,它基本上是一个 docker 容器,其中包含构建我的应用程序的 Business Central 环境。
但是 navcontainerhelper 不知道 docker 命令,因为它不包括 docker。
我研究并发现使用 -v 安装 docker 套接字是执行此操作的方法,但是我似乎无法使其正常工作。
当我创建代理时,我使用以下命令:
docker run -v /var/run/docker.sock:/var/run/docker.sock -ti dockeragent:latest -e AZP_URL=<My azure url> -e AZP_TOKEN=<my azure token) -e AZP_AGENT_NAME=<my builder agent name>
当我尝试执行此操作时,我得到以下命令,这导致我得出上述结论。
docker : C:\Program Files\docker\docker.exe: Error response from daemon: invalid volume specification: '/var/run/docker.sock:/var/run/docker.sock'.
At C:\dockeragent\StartAgents.ps1:1 char:1
+ docker run -v /var/run/docker.sock:/var/run/docker.sock -ti dockerage ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (C:\Program File...n/docker.sock'.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
See 'C:\Program Files\docker\docker.exe run --help'.
有人可以告诉我我做错了什么吗?
我已更改脚本以使用命名管道代替 Windows。它现在像这样安装:
docker run -e AZP_URL=<My azure url> -e AZP_TOKEN=<my azure token) -e AZP_AGENT_NAME=<my builder agent name> -v \\.\pipe\docker_engine:\\.\pipe\docker_engine dockeragent:latest
但是容器仍然拒绝识别我的 docker 命令:
New-NavContainer : The term 'docker' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\azp\agent\_work\***\s\scripts\Create-Container.ps***:36 char:***
+ New-NavContainer @parameters `
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (docker:String) [New-NavContainer], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException,New-NavContainer
PowerShell exited with code '***'.
任何指针将不胜感激!