Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows上为Docker EE在Docker映像中构建Docker?_Docker_Jenkins_Kubernetes_Windows Server 2019_Docker Ee - Fatal编程技术网

如何在Windows上为Docker EE在Docker映像中构建Docker?

如何在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

我计划在Kubernetes吊舱中运行的动态Jenkins代理中构建Docker EE映像,因此需要

  • 提供Jenkins代理功能和Docker的Docker映像。目前,我正在使用
    jenkins/jnlp代理:最新的windows
    作为映像在windows LTSC节点池上运行,该节点池似乎充分地提供了jenkins代理功能
  • 一种扩展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代理容器连接到该套接字

安装程序应在Google Kubernetes引擎提供的Windows Server 2019节点池上运行。我知道Windows池目前是测试版


如果有人知道如何使用第二种方法,仍然需要以用户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”
看看这里: