Create a Docker file for a CMS app
Describes how to create a Docker file for an Optimizely Content Management System (CMS) application.
Note
This 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:5.0-buster-slim AS build-env WORKDIR /app COPY \*.csproj ./ RUN dotnet restore COPY . ./ RUN dotnet publish -c Release -o out FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim 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Â
.dockerignore
 file 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 10 months ago