繁体   English   中英

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

[英]How to build a Docker-in-Docker image for Docker EE on Windows?

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

  • 提供 Jenkins 代理功能和 Docker 的 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 池目前是测试版。

如果有人知道如何使第二种方法起作用,为了提高安全性,仍然需要以用户 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM