# when docker is not started (in WSL on boot)
sudo service docker start
sudo service docker status
# change to source directory with Dockerfile
cd /mnt/c/workspace/{app_source}
# build image from 'Dockerfile' in local directory
docker build -t {app_name}:1.1 .
# view local images
docker images
# run a image in a container
docker run --name {app_name}-container -d {app_name}:1.1
# inspect container info
docker container inspect {app_name}-container
# show container logs
docker logs {app_name}-container
# remove a container (after use)
docker container rm {app_name}-container
# list (local) containers
docker ps
docker container lsDockerfile
## [1] De applicatie builden in een build image/container met dotnet SDK # Basisimage FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build # Set working directory WORKDIR /app # Kopieer alle source-bestanden van de host naar de container COPY . ./ # Build de applicatie RUN dotnet publish -c Release -o out ## [2] De gepublishde applicatie plaatsen in een runtime-image met dotnet runtime # Bouw de runtime-image FROM mcr.microsoft.com/dotnet/aspnet:7.0 WORKDIR /app COPY --from=build /app/out ./ # Zet info LABEL maintainer="info@solidt.eu" # Application arguments # ARG # Environment variables ENV ASPNETCORE_URLS=http://+:80 # Poort openzetten EXPOSE 80 # Start de applicatie ENTRYPOINT ["dotnet", "WebApi.dll"]
761400cookie-checkDocker build & run .NET web-api image/container