【问题标题】:Can't download Docker and containers on Windows Server 2016无法在 Windows Server 2016 上下载 Docker 和容器
【发布时间】:2021-11-04 10:43:02
【问题描述】:

我是 docker 和 windows 容器的新手。在 Windows Server 2016 上部署本地解决方案 通过这个instruction 并坚持Install-Package Docker -ProviderName DockerMsftProvider -Force

警告:找不到路径 'C:\Users\ADM_AG~1\AppData\Local\Temp\DockerMsftProvider\DockerDefault_DockerSearchIndex.json' 因为它没有 存在。 警告:无法将参数绑定到参数“downloadURL”,因为它是一个空字符串。 警告:在此对象上找不到属性“AbsoluteUri”。验证该属性是否存在。 警告:在此对象上找不到属性“RequestMessage”。验证该属性是否存在。 安装包:没有找到与指定的搜索条件和包名称“Docker”匹配的内容。试试 Get-PackageSour 查看所有可用的注册包源。 在 line:1 char:1

  • 安装包 Docker -ProviderName DockerMsftProvider -Force
  •   + CategoryInfo          : ObjectNotFound: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], E
    ception
      + FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage
    
    

但不知何故我已经安装了 Docker

获取服务泊坞窗

状态名称显示名称


停止 docker Docker 引擎

启动服务泊坞窗 start-service : 无法启动服务 'Docker Engine (docker)'。 在 line:1 char:1

  • 启动服务泊坞窗
  •   + CategoryInfo          : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Start-Service], ServiceCommandException
      + FullyQualifiedErrorId : StartServiceFailed,Microsoft.PowerShell.Commands.StartServiceCommand
    
    

码头工人版本 客户: 版本:1.12.0-dev API版本:1.24 围棋版本:go1.5.3 Git 提交:8e92415 建成:2016 年 5 月 26 日星期四 17:08:34 操作系统/架构:windows/amd64 尝试连接时出错:Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version: open //./pipe/docker_engine: 系统找不到指定的文件。

现在我无法下载容器并启动 Docker

泊坞窗图片 尝试连接时出错:Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/json: open //./pipe/docker_engine: 系统找不到指定的文件。

docker pull mcr.microsoft.com/windows/nanoserver:1809 尝试连接时出错:发布 http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/create?fromImage=mcr.microsoft.com%2Fwindows%2Fnanoserver&tag=1809: open //./pipe /docker_engine: 系统无法fin d 指定的文件。

WindowsFeauture 中的容器已启用,TLS 1.2 已启用,执行策略不受限制

可能与 dockerdefault 和容器图像库不受信任有关吗?如果是,如何设置它是可信的?

获取包源

Name ProviderName IsTrusted Location


测试 NuGet False https://www.nuget.org/api/v2 PSGallery PowerShellGet True https://www.powershellgallery.com/api/v2 ContainerImageGallery ContainerImage False http://go.microsoft.com/fwlink/?LinkID=746630&clcid=0x409 DockerDefault DockerMsftPro... False https://go.microsoft.com/fwlink/?LinkID=825636&clcid=0x409

【问题讨论】:

  • 您解决了吗?我建议您重新开始,首先确保安装了 Containers 功能。

标签: docker containers


【解决方案1】:

如果我是你,我会:

  1. 通过删除 docker 重新开始:

    选项1方法:

    docker ps --quiet | ForEach-Object {docker stop $_}
    docker system prune --volumes --all
    Uninstall-Package -Name docker -ProviderName DockerMsftProvider
    Uninstall-Module -Name DockerMsftProvider
    Get-HNSNetwork | Remove-HNSNetwork
    Remove-Item "C:\ProgramData\Docker" -Recurse
    

    方案二,蛮力法:

    Stop-Service docker
    dockerd --unregister-service
    Remove-Item "C:\ProgramData\Docker" -Recurse
    Remove-Item "C:\Program Files\Docker" -Recurse
    

然后重新启动到一个干净的系统。

  1. 从头开始安装 Docker 引擎:
    # Install Containers feature
    Install-WindowsFeature Containers
    
    # RESTART THE SERVER!!!
    
    # Install Docker Module
    Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
    
    # Install Docker
    Install-Package -Name Docker -ProviderName DockerMsftProvider -Force -Confirm:$false
    
    # Start Docker Engine
    Start-Service Docker
    

你现在应该有一个工作的 Docker 安装。

  1. 使用以下命令测试 docker 引擎:
    docker version
    docker info
    

如果您在执行上述测试命令时仍然遇到问题:

  1. 确保您的 Windows 防火墙已关闭,以确保没有任何障碍。

  2. 另外,请确保“万维网发布服务”已停止以防万一(至少目前如此)。

  3. 使用

    更新“PowerShellGet”模块
Install-Module -Name PowerShellGet -RequiredVersion 2.2.5 -Force

让我知道它是否最终有效。

仅供参考: 带有“1809”的容器标签适用于 Windows 2019。所以:

mcr.microsoft.com/windows/nanoserver:1809 ==> Windows 2019
mcr.microsoft.com/windows/nanoserver:sac2016 ==> Windows 2016

重要提示:Windows 容器必须与将在其上运行的 Windows 主机匹配。

【讨论】:

    猜你喜欢
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 2019-12-10
    • 2021-06-07
    • 2020-04-03
    • 1970-01-01
    • 2021-02-28
    • 2019-11-23
    相关资源
    最近更新 更多