热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在WindowsServerCoreDocker上安装.NETFramework3.5

如何解决《在WindowsServerCoreDocker上安装.NETFramework3.5》经验,为你挑选了1个好方法。

我正在努力在docker容器上安装.NET Framework 3.5.我已经安装了4.5,但需要3.5才能运行一个服务.这是我的Dockerfile:

FROM microsoft/windowsservercore
SHELL ["powershell"]


RUN Install-WindowsFeature NET-Framework-45-ASPNET ; \  
    Install-WindowsFeature Web-Asp-Net45

RUN dism /online /enable-feature /featurename:NetFX3 /all

COPY Startup Startup
COPY Service Service



RUN "C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" WCS.WindowsService.exe


RUN mkdir Temp\Logs

ENTRYPOINT C:\Startup\setupBatch.bat

COPY ContainerApi ContainerApi

RUN Remove-WebSite -Name 'Default Web Site'  
RUN New-Website -Name 'ContainerApi' -Port 80 \  
    -PhysicalPath 'C:\ContainerApi' -ApplicationPool '.NET v4.5'

EXPOSE 80

CMD ["ping", "-t", "localhost"]  

当我尝试构建它时,它会让我在线错误 RUN dism

错误:0x800f081f

找不到源文件.
使用"源"选项指定还原功能所需文件的位置.有关指定源位置的详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=243077.

现在,即使我dism /online /enable-feature /featurename:NetFX3 /all在docker(docker exec)内部运行,它仍然会给我同样的错误.

有帮助的人吗?



1> ansariwn..:

我采取了以下步骤来解决此问题:

    掌握了Windows Server 2016 Core ISO文件.在本地计算机上安装文件.

    将{mount}:/ sources/sxs文件夹解压缩为zip文件(sxs.zip).确保sxs文件夹中存在.NET Framework 3.5 cab文件(microsoft-windows-netfx3-ondemand-package.cab).就我而言,这是sxs文件夹中唯一存在的文件.

sxs文件夹

    将sxs.zip文件复制到我的容器中.我使用图像的dockerfile复制了它.

    将文件解压缩到容器中的C:\ sources\sxs文件夹.

    使用Install-WindowsFeature powershell命令安装该功能.

    Install-WindowsFeature -Name NET-Framework-Features -Source C:\sources\sxs -Verbose
    

    安装命令

希望这可以帮助.我还发现以下博客有助于理解按需功能. https://blogs.technet.microsoft.com/askcore/2012/05/14/windows-8-and-net-framework-3-5/


推荐阅读
  • postgresql创建数据库
    一.创建Dockerfile文件(~dockerDockerfile)#FROMpostgres:9.3-alpineFROMlibrarypostgresENVPOSTGRES_ ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • springboot启动不了_Spring Boot + MyBatis 多模块搭建教程
    作者:枫本非凡来源:www.cnblogs.comorzlinp9717399.html一、前言1、创建父工程最近公司项目准备开始重构,框 ... [详细]
  • Dockerfile中怎么将war包打入镜像
    今天就跟大家聊聊有关Dockerfile中怎么将war包打入镜像,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据 ... [详细]
  • 我对Docker世界非常陌生。我有一个docker-compose文件,对我来说很好。但是,我如何创建这 ... [详细]
  • Docker学习(五) Dockerfile基础命令
    学习Dockerfile,需要对它的基础命令进行了解FROM-基于基准镜像尽量使用官方提供的基准镜像[x]FROMtomcat:8.5.50-jdk8-openjdk#制作基准镜像 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Spring学习(4):Spring管理对象之间的关联关系
    本文是关于Spring学习的第四篇文章,讲述了Spring框架中管理对象之间的关联关系。文章介绍了MessageService类和MessagePrinter类的实现,并解释了它们之间的关联关系。通过学习本文,读者可以了解Spring框架中对象之间的关联关系的概念和实现方式。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
author-avatar
难耐五更寒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有