Create a Docker file for a CMS app
Describes how to create a Docker file for an Optimizely Content Management System (CMS) application.
NoteThis example assumes you already have an Optimizely Content Management System (CMS) ASP.NET Core-based application on your machine.
The project in this example is called episerversample. See Install a sample site.
If you are new to ASP.NET, you can follow a simple tutorial to initialize a project or clone ASP.NET Docker Sample.
Create a Docker file for the app
-
Create a Dockerfile in your project folder.
-
Add the text below to your Dockerfile for Linux or Windows Containers. The tags below are multi-arch, meaning they pull Windows or Linux containers depending on the mode set in Docker Desktop for Windows. Read more in switch containers.
-
The Dockerfile assumes that your application is called episerversample. Change the Dockerfile to use the DLL file of your project.
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build-env
WORKDIR /app
COPY \*.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/aspnet:10.0
WORKDIR /app
COPY --from=build-env /app/out .
EXPOSE 80
ENTRYPOINT ["dotnet", "episerversample.dll"]- To make your build context as small as possible, add a
.dockerignorefile to your project folder and copy the following.bin/``obj/
Build and run the Docker image
- Open a command prompt and go to your project folder.
- Use the following commands to build and run your Docker image:
docker build -t episerversample . docker run -it -e "Urls=<http://+:80>" -p 8080:80 episerversample
Updated 5 days ago
