-
-
Save weijuans-msft/19a04903a24487c296effa3f88b603e6 to your computer and use it in GitHub Desktop.
Mar 12, 2018 update: due to issues found internally, we added back 2 features: | |
Printing-Client | |
Windows-Defender-Features | |
------- | |
In the recent blog we shared that we removed a number of features to further reduce the size of the Windows Server Core container base image. | |
https://techcommunity.microsoft.com/t5/containers/a-smaller-windows-server-core-container-with-better-application/ba-p/382412. | |
Below is that list of features we removed. Let us know if you have any concern or share your feedback with us how this has worked for you. Thanks. | |
You can leave comments at the blog or here. | |
"ADCertificateServicesRole", | |
"AuthManager", | |
"Bitlocker-Utilities", | |
"BitLocker", | |
"BITS", | |
"BITSExtensions-Upload", | |
"CCFFilter", | |
"CertificateEnrollmentPolicyServer", | |
"CertificateEnrollmentServer", | |
"CertificateServices", | |
"ClientForNFS-Infrastructure", | |
"Containers", | |
"CoreFileServer", | |
"DataCenterBridging-LLDP-Tools", | |
"DataCenterBridging", | |
"Dedup-Core", | |
"DeviceHealthAttestationService", | |
"DFSN-Server", | |
"DFSR-Infrastructure-ServerEdition", | |
"DirectoryServices-ADAM", | |
"DirectoryServices-DomainController", | |
"DiskIo-QoS", | |
"EnhancedStorage", | |
"FailoverCluster-AdminPak", | |
"FailoverCluster-AutomationServer", | |
"FailoverCluster-CmdInterface", | |
"FailoverCluster-FullServer", | |
"FailoverCluster-PowerShell", | |
"File-Services", | |
"FileServerVSSAgent", | |
"FRS-Infrastructure", | |
"FSRM-Infrastructure-Services", | |
"FSRM-Infrastructure", | |
"HardenedFabricEncryptionTask", | |
"HostGuardian", | |
"HostGuardianService-Package", | |
"IdentityServer-SecurityTokenService", | |
"IPAMClientFeature", | |
"IPAMServerFeature", | |
"iSCSITargetServer-PowerShell", | |
"iSCSITargetServer", | |
"iSCSITargetStorageProviders", | |
"iSNS_Service", | |
"Licensing", | |
"LightweightServer", | |
"Microsoft-Hyper-V-Management-Clients", | |
"Microsoft-Hyper-V-Offline", | |
"Microsoft-Hyper-V-Online", | |
"Microsoft-Hyper-V", | |
"Microsoft-Windows-FCI-Client-Package", | |
"Microsoft-Windows-GroupPolicy-ServerAdminTools-Update", | |
"Microsoft-Windows-Subsystem-Linux", | |
"MSRDC-Infrastructure", | |
"MultipathIo", | |
"NetworkController", | |
"NetworkControllerTools", | |
"NetworkDeviceEnrollmentServices", | |
"NetworkLoadBalancingFullServer", | |
"NetworkVirtualization", | |
"OnlineRevocationServices", | |
"P2P-PnrpOnly", | |
"PeerDist", | |
"Printing-Client-Gui", | |
"Printing-LPDPrintService", | |
"Printing-Server-Foundation-Features", | |
"Printing-Server-Role", | |
"QWAVE", | |
"RasRoutingProtocols", | |
"Remote-Desktop-Services", | |
"RemoteAccess", | |
"RemoteAccessMgmtTools", | |
"RemoteAccessPowerShell", | |
"RemoteAccessServer", | |
"ResumeKeyFilter", | |
"RightsManagementServices-Role", | |
"RightsManagementServices", | |
"RMS-Federation", | |
"SBMgr-UI", | |
"ServerCore-Drivers-General-WOW64", | |
"ServerCore-Drivers-General", | |
"ServerForNFS-Infrastructure", | |
"ServerManager-Core-RSAT-Feature-Tools", | |
"ServerMediaFoundation", | |
"ServerMigration", | |
"SessionDirectory", | |
"SetupAndBootEventCollection", | |
"ShieldedVMToolsAdminPack", | |
"SMB1Protocol-Server", | |
"SmbDirect", | |
"SMBHashGeneration", | |
"SmbWitness", | |
"SNMP", | |
"SoftwareLoadBalancer", | |
"Storage-Replica-AdminPack", | |
"Storage-Replica", | |
"Tpm-PSH-Cmdlets", | |
"UpdateServices-Database", | |
"UpdateServices-Services", | |
"UpdateServices-WidDatabase", | |
"UpdateServices", | |
"VmHostAgent", | |
"VolumeActivation-Full-Role", | |
"Web-Application-Proxy", | |
"WebAccess", | |
"WebEnrollmentServices", | |
"Windows-Defender", | |
"WindowsServerBackup", | |
"WindowsStorageManagementService", | |
"WINSRuntime", | |
"WMISnmpProvider", | |
"WorkFolders-Server", | |
"WSS-Product-Package" |
On that topic, what's the chance of a full-fat server core container for those of us who use Docker containers for testing provisioning pipelines? I have a swathe of tests I run in a container to mimic an AWS instance build - which includes the NFS-Client case I mentioned in the previous comment. I've also got a case I'd like to test in Docker that configures Windows Defender and another that created a VHD with New-VHD
, which as far as I can see won't work on the current containers either.
Is it possible to re-add features to a container image?
Is it possible to get the VB6 runtime support back so that you could run 32bit vb6 com components?
That's great, but you really need to explain how we can add these features back in. For example I have a need to run docker in docker, to get around a legacy windows licensing issue. I have as of yet not found how to reinstall the container feature, I have tried multiple versions of the below:
Install-WindowsFeature containers -Source c:\iso\sources
OR
Install-WindowsFeature containers -IncludeAllSubFeature -Source wim:c:\iso\sources\install.wim:3
OR
dism /online /enable-feature /FeatureName:containers /norestart /All /Source:wim:C:\iso\sources\install.wim:3 /LimitAccess
All have failed to provide the files needed to reinstall the removed features.
In effect you have sealed the base classes, reducing it's ability to be customized.
So yes, great reduce the size and remove the features, but please add some instruction on how to add these back in again.
@ChocoMachine Yeah I am in the same boat, did you ever figure out how to work around this?
@ChocoMachine Yeah I am in the same boat, did you ever figure out how to work around this?
Nope... Never found a way around it.. 😡
@ChocoMachine Bummer, I just posted this issue microsoft/Windows-Containers#91 lets see what comes of it.
Hi there.
I don't seem to be able to add the NFS-Client feature on my ServerCore containers, which I don't see explicitly listed. I can understand removing the server component, but the ability to act as a client is very useful if you're going for volatile containers with persistent storage somewhere.
(to expand: I'm adding the feature with DSC, so I'm not sure if it's the DSC or the feature at fault. Now I've thought of that I might try another method and see how that goes)