如何在Windows上为Docker EE在Docker映像中构建Docker?
我计划在Kubernetes吊舱中运行的动态Jenkins代理中构建Docker EE映像,因此需要如何在Windows上为Docker EE在Docker映像中构建Docker?,docker,jenkins,kubernetes,windows-server-2019,docker-ee,Docker,Jenkins,Kubernetes,Windows Server 2019,Docker Ee,我计划在Kubernetes吊舱中运行的动态Jenkins代理中构建Docker EE映像,因此需要 提供Jenkins代理功能和Docker的Docker映像。目前,我正在使用jenkins/jnlp代理:最新的windows作为映像在windows LTSC节点池上运行,该节点池似乎充分地提供了jenkins代理功能 一种扩展jenkins/jnlp代理的方法:最新的windows,这样它也可以运行Docker。我天真的态度 FROM jenkins/jnlp-agent:latest-w
- 提供Jenkins代理功能和Docker的Docker映像。目前,我正在使用
作为映像在windows LTSC节点池上运行,该节点池似乎充分地提供了jenkins代理功能jenkins/jnlp代理:最新的windows
- 一种扩展jenkins/jnlp代理的方法:最新的windows,这样它也可以运行Docker。我天真的态度
使用FROM jenkins/jnlp-agent:latest-windows SHELL ["powershell", "-Command", "$ErrorActionPreference = 'SilentlyContinue'; $ProgressPreference = 'SilentlyContinue';"] USER ContainerAdministrator COPY install-docker.ps1 . RUN ./install-docker.ps1 RUN Remove-Item install-docker.ps1
包含安装docker.ps1
以下操作因以下原因而失败:Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -ErrorAction Continue Install-Module -Name DockerMsftProvider -Repository PSGallery -Force -ErrorAction Continue Install-Package -Force -ErrorAction Continue -Name docker -ProviderName DockerMsftProvider
或> Start-Service Docker Start-Service : Failed to start service 'Docker Engine (Docker)'. At line:1 char:1 + Start-Service Docker + ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommandException + FullyQualifiedErrorId : StartServiceFailed,Microsoft.PowerShell.Commands.StartServiceCommand
- Windows上Docker EE的Docker容器中的Docker,它公开Docker TCP套接字并允许Jenkins代理容器连接到该套接字
如果有人知道如何使用第二种方法,仍然需要以用户jenkins而不是容器管理员的身份运行安装程序,以提高安全性。尝试在Dockerfile中创建服务
RUN powershell New-Service -Name “RSDataQualityWorkerPool” -BinaryPathName “C:\WWW\WinServices\RSDataQualityWorkerPool\RSDataQualityWorkerPool.exe”
在运行的容器中启动它
Start-Service -Name “RSDataQualityWorkerPool”
请看这里:,。尝试在Dockerfile中创建服务
RUN powershell New-Service -Name “RSDataQualityWorkerPool” -BinaryPathName “C:\WWW\WinServices\RSDataQualityWorkerPool\RSDataQualityWorkerPool.exe”
在运行的容器中启动它
Start-Service -Name “RSDataQualityWorkerPool”
看看这里: