Cla*_*ild 9 windows-server octopus-deploy docker docker-for-windows
我们在Windows Server 2016数据中心框中安装了Windows版Docker。
我们使用此框作为docker容器的构建代理。
当我们尝试通过守护程序连接到此框以构建容器时,会收到一条错误消息,指示守护程序未运行(在发布结束时)。
但是,如果我使用我的AD帐户登录到此框,则守护程序将启动,运行,然后我就可以连接并完成我需要做的所有事情。
有没有一种方法可以使守护进程在启动时启动而无需用户登录?仅当用户登录时,该服务才能运行。
错误信息:
error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.37/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=[NameRemovedForPrivacy]&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=[keyRemovedForPrivacy]&shmsize=0&t=[serverNameRemovedForPrivacy]&target=&ulimits=null: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
我尝试过的
executable并com.service.docker在启动时使用优先权限。Mil*_*uri 14
Windows 服务器的最佳解决方案是Task Scheduler在系统启动的情况下创建运行“Docker 桌面”应用程序的任务。
要搜索“任务计划程序”,请单击“创建任务...”。
在新选项卡上指定任务的名称,然后选择“无论用户是否登录都运行”单选按钮和“以最高权限运行”复选框。在页面末尾选择适当的窗口类型。
现在单击触发器选项卡并添加新触发器。在新的触发器页面上选择“启动时”,然后单击“确定”。
最后,单击操作选项卡并添加一个运行“Docker windows”快捷方式的新操作,该快捷方式在 Windows 上运行 docker 守护程序。
当 docker 启动时,经过 1 分钟,容器启动可能需要一些时间(在我的情况下为 4 分钟),等待几分钟,然后测试您的 docker 是否正在运行。
这是一个 PowerShell 脚本,用于创建计划任务并经验证可在 Windows 10 上运行:
$trigger = New-ScheduledTaskTrigger -AtStartup
$trigger.Delay = 'PT1M'
$action = New-ScheduledTaskAction -Execute 'C:\Program Files\Docker\Docker\Docker Desktop.exe'
$settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable -RestartCount 999
$settings.ExecutionTimeLimit = 'PT0S'
$settings.RestartInterval = 'PT1M'
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName Docker -Settings $settings -User $env:UserName -Password (ConvertFrom-SecureString (Read-Host -Prompt 'Password' -AsSecureString) -AsPlainText)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5578 次 |
| 最近记录: |