Crossref: https://www.reddit.com/r/docker/comments/57w70v/installing_servermediafoundation_windows_feature/
Trying to install the Windows version of Plex inside a Windows Server 2016 container. Our results thusfar:https://www.reddit.com/r/PleX/comments/5746vh/pms_installation_in_windows_server_2016_docker/
Server and client:
Version: 1.13.0-dev
API version: 1.25
Go version: go1.7.1
Git commit: 9f5ffa2
Windows Server 2016 RTM MSDN Using microsoft/windowsservercore as base image.
Plex installs and files are placed in the correct places. However, when trying to run Plex Media Server.exe, it just quits. Docs on the internet note that you need the ServerMediaFoundation feature on Windows Core installed in order for Plex to run.
Tested this: New 2016 Core VM, Plex installed, doesn’t run. Installed the ServerMediaFoundation feature and rebooted: Plex works.
I think we’re really stuck on the installation of the ServerMediaFoundation feature inside the docker container. The features appears to install and demands a reboot. Rebooting makes the docker container stall. Stopping and restarting the container shows the feature is not installed.
Hardcore docker, especially on Windows, is new to me but I’m going to make a wild guess here: Could the feature installation depend on image modifications of the microsoft/windowsservercore image? Like, it needs to inject into the kernel which is shared between images/containers?
In short: Is it possible to run Dism /online /enable-feature /all /FeatureName:ServerMediaFoundation and make it work? Or does one have to hack the crap out the Microsoft/WindowsServerCore image (which isn’t allowed by EULA I believe)?
Dockerfile:
FROM microsoft/windowsservercore
LABEL Description=“PMS”
COPY PlexInstaller.exe C:\
COPY install-media.bat C:\
RUN C:\install-media.bat
RUN PlexInstaller.exe /install /quiet
RUN del C:\PlexInstaller.exe
RUN del C:\install-media.bat
CMD [ “cmd” ]
Install-media.bat (nasty hack to get correct error code from DISM):
Dism /online /enable-feature /FeatureName:ServerMediaFoundation /NoRestart
ver > nul
TL;DR: Is it possible to install the Server-Media-Foundation feature inside a Microsoft/WindowsServerCore image on Windows Server 2016 RTM?