mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2024-12-25 06:05:37 +03:00
win32 update
This commit is contained in:
parent
02cd8a4dd7
commit
12c1d07434
@ -1,4 +0,0 @@
|
||||
![Windows-ready Docker Image](https://avatars2.githubusercontent.com/u/6154722?v=3&s=200)
|
||||
# Windows-ready Docker Image
|
||||
|
||||
* based on https://hub.docker.com/_/microsoft-windows
|
@ -1,64 +1,115 @@
|
||||
FROM mcr.microsoft.com/windows/servercore:1809-amd64
|
||||
FROM mcr.microsoft.com/windows/servercore:ltsc2022
|
||||
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||
|
||||
ENV chocolateyUseWindowsCompression false
|
||||
|
||||
####################################################################################################################################
|
||||
# https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/manage-windows-dockerfile
|
||||
####################################################################################################################################
|
||||
|
||||
ENV chocolateyUseWindowsCompression false
|
||||
# Opt out of the telemetry feature
|
||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT=true
|
||||
# Disable first time experience
|
||||
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
|
||||
# Configure Kestrel web server to bind to port 80 when present
|
||||
ENV ASPNETCORE_URLS=\
|
||||
# Enable detection of running in a container
|
||||
ENV DOTNET_RUNNING_IN_CONTAINER=true
|
||||
# Enable correct mode for dotnet watch (only mode supported in a container)
|
||||
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
|
||||
# Skip extraction of XML docs - generally not useful within an image/container - helps perfomance
|
||||
ENV NUGET_XMLDOC_MODE=skip
|
||||
# PowerShell telemetry for docker image usage
|
||||
ENV POWERSHELL_DISTRIBUTION_CHANNEL=docker-windows
|
||||
# Enable detection of running in a container
|
||||
ENV DOTNET_RUNNING_IN_CONTAINER=true
|
||||
ENV COMPLUS_RUNNING_IN_CONTAINER=1
|
||||
ENV COMPLUS_NGenProtectedProcess_FeatureEnabled=0
|
||||
|
||||
##################################################################
|
||||
|
||||
ENV EMG_WORKDIR=C:\\EpicMorg
|
||||
ENV EMG_VOLDIR=C:\\EpicMorg\\mount
|
||||
|
||||
##################################################################
|
||||
# Creating workdir for future
|
||||
##################################################################
|
||||
RUN mkdir C:\\EpicMorg
|
||||
WORKDIR C:\\EpicMorg
|
||||
|
||||
##################################################################
|
||||
# Installing IIS
|
||||
##################################################################
|
||||
RUN powershell -Command Add-WindowsFeature Web-Server; \
|
||||
Invoke-WebRequest -UseBasicParsing -Uri "https://dotnetbinaries.blob.core.windows.net/servicemonitor/2.0.1.10/ServiceMonitor.exe" -OutFile "C:\ServiceMonitor.exe"
|
||||
VOLUME C:\\EpicMorg\\mount
|
||||
|
||||
##################################################################
|
||||
# Installing ocolatey.org
|
||||
##################################################################
|
||||
RUN powershell -Command \
|
||||
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; \
|
||||
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
||||
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
||||
|
||||
# set mirror of chocolatey to bypass ratelimits
|
||||
RUN choco source disable -n=chocolatey
|
||||
RUN choco source add -n=vault -s="https://repo.vault.center/artifactory/api/nuget/chocolatey"
|
||||
RUN choco source
|
||||
|
||||
##################################################################
|
||||
# install vcredist packages
|
||||
##################################################################
|
||||
RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
|
||||
vcredist-all \
|
||||
vcredist140 \
|
||||
RUN cinst -y --force --ignore-checksums --allow-empty-checksums --ignoredetectedreboot \
|
||||
# vb5runtime \
|
||||
vjredist \
|
||||
visualfsharptools \
|
||||
vcredist2005 \
|
||||
vcredist2008 \
|
||||
vcredist2010 \
|
||||
vcredist2012 \
|
||||
vcredist2013 \
|
||||
vcredist2013 \
|
||||
vcredist2015
|
||||
vcredist2015 \
|
||||
vcredist2017 \
|
||||
vcredist-all \
|
||||
vcredist140
|
||||
|
||||
##################################################################
|
||||
# install dotnet packages
|
||||
##################################################################
|
||||
RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
|
||||
RUN cinst -y --force --ignore-checksums --allow-empty-checksums --ignoredetectedreboot \
|
||||
dotnet1.1 \
|
||||
dotnetsdk1.1 \
|
||||
dotnet3.5 \
|
||||
dotnetfx \
|
||||
netfx-4.8-devpack \
|
||||
dotnet \
|
||||
dotnet-aspnetruntime \
|
||||
dotnet-windowshosting \
|
||||
dotnet-runtime \
|
||||
dotnet-desktopruntime \
|
||||
dotnet-sdk \
|
||||
powershell-core
|
||||
|
||||
# Apply patch to provide support for container limits
|
||||
RUN curl -fSLo patch.msu https://download.microsoft.com/download/1/d/1/1d162522-821a-41c6-ba7d-74ff37b0e6c6/Windows10.0-KB9008395-x64-NDP48.msu && \
|
||||
mkdir patch&& \
|
||||
&& expand patch.msu patch -F:* && \
|
||||
&& del /F /Q patch.msu && \
|
||||
&& dism /Online /Quiet /Add-Package /PackagePath:C:\patch\windows10.0-kb9008395-x64-ndp48.cab && \
|
||||
&& rmdir /S /Q patch && \
|
||||
# Ngen top of assembly graph to optimize a set of frequently used assemblies
|
||||
&& %windir%\Microsoft.NET\Framework64\v4.0.30319\ngen install "Microsoft.PowerShell.Utility.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" && \
|
||||
&& %windir%\Microsoft.NET\Framework64\v4.0.30319\ngen update && \
|
||||
&& %windir%\Microsoft.NET\Framework\v4.0.30319\ngen update
|
||||
|
||||
# To optimize 32-bit assemblies, uncomment the next line
|
||||
# && %windir%\Microsoft.NET\Framework\v4.0.30319\ngen install "Microsoft.PowerShell.Utility.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" && \
|
||||
|
||||
##################################################################
|
||||
# install base packages
|
||||
##################################################################
|
||||
RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
|
||||
RUN cinst -y --force --ignore-checksums --allow-empty-checksums --ignoredetectedreboot \
|
||||
psexec \
|
||||
curl \
|
||||
far \
|
||||
findutils \
|
||||
git \
|
||||
git.install \
|
||||
git-lfs \
|
||||
git-lfs.install \
|
||||
make \
|
||||
mc \
|
||||
nano \
|
||||
@ -74,7 +125,7 @@ RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
|
||||
##################################################################
|
||||
# install archive packages
|
||||
##################################################################
|
||||
RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
|
||||
RUN cinst -y --force --ignore-checksums --allow-empty-checksums --ignoredetectedreboot \
|
||||
7zip \
|
||||
7zip-zstd \
|
||||
7zip.commandline \
|
||||
@ -88,6 +139,3 @@ RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
|
||||
wavpack7z \
|
||||
winrar
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
ENTRYPOINT ["C:\\ServiceMonitor.exe", "w3svc"]
|
@ -1,6 +1,6 @@
|
||||
version: '3.9'
|
||||
services:
|
||||
app:
|
||||
image: "epicmorg/prod:win-server-core"
|
||||
image: "epicmorg/windows-server:2022-base"
|
||||
build:
|
||||
context: .
|
||||
|
@ -1,7 +1,21 @@
|
||||
FROM mcr.microsoft.com/windows:1809-amd64
|
||||
FROM mcr.microsoft.com/windows/servercore:ltsc2022
|
||||
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||
|
||||
ENV chocolateyUseWindowsCompression false
|
||||
# Opt out of the telemetry feature
|
||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT=true
|
||||
# Disable first time experience
|
||||
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
|
||||
# Configure Kestrel web server to bind to port 80 when present
|
||||
ENV ASPNETCORE_URLS=\
|
||||
# Enable detection of running in a container
|
||||
ENV DOTNET_RUNNING_IN_CONTAINER=true
|
||||
# Enable correct mode for dotnet watch (only mode supported in a container)
|
||||
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
|
||||
# Skip extraction of XML docs - generally not useful within an image/container - helps perfomance
|
||||
ENV NUGET_XMLDOC_MODE=skip
|
||||
# PowerShell telemetry for docker image usage
|
||||
ENV POWERSHELL_DISTRIBUTION_CHANNEL=docker-windows
|
||||
|
||||
####################################################################################################################################
|
||||
# https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/manage-windows-dockerfile
|
||||
@ -13,6 +27,12 @@ ENV chocolateyUseWindowsCompression false
|
||||
RUN mkdir C:\\EpicMorg
|
||||
WORKDIR C:\\EpicMorg
|
||||
|
||||
##################################################################
|
||||
# Installing IIS
|
||||
##################################################################
|
||||
RUN powershell -Command Add-WindowsFeature Web-Server; \
|
||||
Invoke-WebRequest -UseBasicParsing -Uri "https://dotnetbinaries.blob.core.windows.net/servicemonitor/2.0.1.10/ServiceMonitor.exe" -OutFile "C:\ServiceMonitor.exe"
|
||||
|
||||
##################################################################
|
||||
# Installing ocolatey.org
|
||||
##################################################################
|
||||
@ -38,8 +58,9 @@ RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
|
||||
# install dotnet packages
|
||||
##################################################################
|
||||
RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
|
||||
directx \
|
||||
dotnet \
|
||||
dotnet-aspnetruntime \
|
||||
dotnet-windowshosting \
|
||||
dotnet-runtime \
|
||||
dotnet-sdk \
|
||||
powershell-core
|
||||
@ -51,7 +72,6 @@ RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
|
||||
curl \
|
||||
far \
|
||||
findutils \
|
||||
ffmpeg-shared \
|
||||
git \
|
||||
make \
|
||||
mc \
|
||||
@ -82,3 +102,6 @@ RUN cinst --no-progress -y -IgnoreChecksums --ignoredetectedreboot \
|
||||
wavpack7z \
|
||||
winrar
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
ENTRYPOINT ["C:\\ServiceMonitor.exe", "w3svc"]
|
4
win32/ecosystem/epicmorg/iis/README.md
Normal file
4
win32/ecosystem/epicmorg/iis/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
![IIS Docker Image](https://avatars2.githubusercontent.com/u/6154722?v=3&s=200)
|
||||
# IIS-ready Docker Image
|
||||
|
||||
* based on https://github.com/microsoft/iis-docker
|
@ -1,6 +1,6 @@
|
||||
version: '3.9'
|
||||
services:
|
||||
app:
|
||||
image: "epicmorg/prod:win10"
|
||||
image: "epicmorg/windows-server:base"
|
||||
build:
|
||||
context: .
|
Loading…
Reference in New Issue
Block a user