Skip to content

Instantly share code, notes, and snippets.

View ironsoftwarebuild's full-sized avatar

ironsoftwarebuild

View GitHub Profile
FROM public.ecr.aws/lambda/dotnet:8
# install necessary packages
RUN dnf update -y && dnf install -y gcc-c++ pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 dbus-glib-devel && dnf install -y libXdamage.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 && dnf install -y libXrandr.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi && dnf install -y xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc && dnf install -y mesa-libgbm.x86_64 && dnf install -y nss-3.90.0-3.amzn2023.0.4.x86_64
WORKDIR /var/task
# This COPY command copies the .NET Lambda project's build artifacts from the host machine into the image.
# The source of the COPY should match where the .NET Lambda project publishes its build artifacts. If the Lambda function is being built
# with the AWS .NET Lambda Tooling, the `--docker-host-build-output-dir` switch controls where the .NET Lambda project
# base image (AWS Lambda)
FROM public.ecr.aws/lambda/dotnet:7
# install necessary packages
RUN yum update -y && yum groupinstall -y "Development Tools" && yum install -y gcc-c++ glibc-devel.i686 glibc.i686 pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 dbus-glib-devel && yum install -y libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 && yum install -y libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi && yum install -y xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc && yum install -y glibc-devel.x86_64 at-spi2-atk.x86_64 mesa-libgbm.x86_64 libxshmfence libxkbcommon amazon-linux-extras && amazon-linux-extras install epel -y && yum install -y libgdiplus && yum clean all && rm -rf /var/cache/yum
WORKDIR /var/task
# This COPY command copies the .NET Lambda project's build artifacts from the host machine into the image.
# The source of the COPY s
# escape=`
FROM mcr.microsoft.com/windows/servercore:ltsc2016 AS baseOS
RUN powershell -Command [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12; $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -UseBasicParsing -Uri https://dot.net/v1/dotnet-install.ps1 -OutFile dotnet-install.ps1; ./dotnet-install.ps1 -InstallDir '/Program Files/dotnet' -Channel 3.1 -Runtime dotnet; Remove-Item -Force dotnet-install.ps1 && setx /M PATH "%PATH%;C:\Program Files\dotnet"
COPY . .
FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
# base image (Debian 11)
FROM mcr.microsoft.com/dotnet/sdk:6.0
WORKDIR /src
# install necessary packages
RUN apt update \
&& apt install -y sudo libxkbcommon-x11-0 libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2 libxrender1 libfontconfig1 libxshmfence1 libgdiplus libva-dev
# restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# build project
# base image (Ubuntu 20)
FROM mcr.microsoft.com/dotnet/sdk:6.0-focal
WORKDIR /src
# install necessary packages
RUN apt update \
&& apt install -y libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2 libappindicator3-1 libxrender1 libfontconfig1 libxshmfence1 libgdiplus libva-dev
# restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# build project
# base image (AWS Lambda)
FROM public.ecr.aws/lambda/dotnet:5.0
RUN yum update -y && yum install -y gcc-c++ glibc-devel.i686 glibc.i686 pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 dbus-glib-devel && yum install -y libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 && yum install -y libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 ipa-gothic-fonts xorg-x11-fonts-100dpi && yum install -y xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc && yum install -y glibc-devel.x86_64 at-spi2-atk.x86_64 mesa-libgbm.x86_64 libxshmfence libxkbcommon amazon-linux-extras && amazon-linux-extras install epel -y && yum install -y libgdiplus && yum clean all && rm -rf /var/cache/yum
# This COPY command copies the .NET Lambda project's build artifacts from the host machine into the image.
# The source of the COPY should match where the .NET Lambda project publishes its build artifacts. If the Lambda fu
# base image (Ubuntu 20)
FROM mcr.microsoft.com/dotnet/sdk:3.1-focal
WORKDIR /src
# install necessary packages
RUN apt update \
&& apt install -y libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2 libappindicator3-1 libxrender1 libfontconfig1 libxshmfence1 libgdiplus libva-dev
# restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# build project
# base image (Ubuntu 20)
FROM mcr.microsoft.com/dotnet/sdk:5.0-focal
WORKDIR /src
# install necessary packages
RUN apt update \
&& apt install -y libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2 libappindicator3-1 libxrender1 libfontconfig1 libxshmfence1 libgdiplus libva-dev
# restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# build project
# base image (Ubuntu 18)
FROM mcr.microsoft.com/dotnet/sdk:3.1-bionic
WORKDIR /src
# install necessary packages
RUN apt update \
&& apt install -y libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2 libappindicator3-1 libxrender1 libfontconfig1 libxshmfence-dev libgdiplus libva-dev
# restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# build project
# base image (Debian 11)
FROM mcr.microsoft.com/dotnet/sdk:3.1-bullseye
WORKDIR /src
# install necessary packages
RUN apt update \
&& apt install -y sudo libxkbcommon-x11-0 libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2 libxrender1 libfontconfig1 libxshmfence1 libgdiplus libva-dev
# restore NuGet packages
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
# build project