gpt4 book ai didi

docker - 如何在Windows上为Docker EE构建Docker-in-Docker镜像?

转载 作者:行者123 更新时间:2023-12-02 12:29:42 27 4
gpt4 key购买 nike

我打算在Kubernetes容器中运行的动态Jenkins代理中构建Docker EE镜像,因此需要

  • 一个Docker镜像,同时提供Jenkins Agent功能和Docker。目前,我正在使用jenkins/jnlp-agent:latest-windows作为镜像在Windows LTSC节点池上运行,这似乎可以充分提供Jenkins代理功能或
  • 一种扩展jenkins/jnlp-agent:latest-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

    包含install-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

    以下https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server由于失败
    > 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-in-Docker容器,它公开Docker TCP套接字并允许Jenkins代理容器与其连接。

  • 安装程序应在Google Kubernetes Engine提供的Windows Server 2019节点池上运行。我知道Windows池当前是beta。

    如果有人对如何使第二种方法起作用有一个想法,仍然有必要以用户 Jenkins 而不是容器管理员的身份运行安装程序,以提高安全性。

    最佳答案

    尝试在Dockerfile中创建服务。

    RUN powershell New-Service -Name “RSDataQualityWorkerPool” -BinaryPathName “C:\WWW\WinServices\RSDataQualityWorkerPool\RSDataQualityWorkerPool.exe”

    在运行的容器中启动它。
    Start-Service -Name “RSDataQualityWorkerPool”

    在这里看看: windows-jnlp-jenkinsdocker-service-on-windows

    关于docker - 如何在Windows上为Docker EE构建Docker-in-Docker镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59993689/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com