dotnet-docker README

The project's README from github.com/dotnet/dotnet-docker. As one markdown file: README.md.

.NET

About

.NET is a general purpose development platform maintained by Microsoft and the .NET community on GitHub. It is cross-platform, supports Windows, macOS, and Linux, and can be used in device, cloud, and embedded/IoT scenarios.

.NET has several capabilities that make development productive, including automatic memory management, (runtime) generic types, reflection, asynchronous constructs, concurrency, and native interop. Millions of developers take advantage of these capabilities to efficiently build high-quality applications.

You can use C# or F# to write .NET apps.

.NET is open source (MIT and Apache 2 licenses) and was contributed to the .NET Foundation by Microsoft in 2014. It can be freely adopted by individuals and companies, including for personal, academic or commercial purposes. Multiple companies use .NET as part of apps, tools, new platforms and hosting services.

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

.NET Documentation

Watch discussions for Docker-related .NET announcements.

Usage

The .NET Docker samples show various ways to use .NET and Docker together. See Introduction to .NET and Docker to learn more.

Container sample: Run a simple application

You can quickly run a container with a pre-built .NET Docker image, based on the .NET console sample.

Type the following command to run a sample console application:

docker run --rm mcr.microsoft.com/dotnet/samples

Container sample: Run a web application

You can quickly run a container with a pre-built .NET Docker image, based on the ASP.NET Core sample.

Type the following command to run a sample web application:

docker run -it --rm -p 8000:8080 --name aspnetcore_sample mcr.microsoft.com/dotnet/samples:aspnetapp

After the application starts, navigate to http://localhost:8000 in your web browser. You can also view the ASP.NET Core site running in the container from another machine with a local IP address such as http://192.168.1.18:8000.

Note: ASP.NET Core apps (in official images) listen to port 8080 by default, starting with .NET 8. The -p argument in these examples maps host port 8000 to container port 8080 (host:container mapping). The container will not be accessible without this mapping. ASP.NET Core can be configured to listen on a different or additional port.

See Hosting ASP.NET Core Images with Docker over HTTPS to use HTTPS with this image.

Image Variants

.NET container images have several variants that offer different combinations of flexibility and deployment size. The Image Variants documentation contains a summary of the image variants and their use-cases.

Distroless images

.NET distroless container images contain only the minimal set of packages .NET needs, with everything else removed. Due to their limited set of packages, distroless containers have a minimized security attack surface, smaller deployment sizes, and faster start-up time compared to their non-distroless counterparts. They contain the following features:

.NET offers distroless images for Azure Linux and Ubuntu (Chiseled).

.NET:

.NET Framework:

Support

Lifecycle

Image Update Policy

CVE Update Policy

.NET container images are regularly monitored for the presence of CVEs. A given image will be rebuilt to pick up fixes for a CVE when:

Please refer to the Security Policy and Container Vulnerability Workflow for more detail about what to do when a CVE is encountered in a .NET image.

Feedback

License

dotnet-docker (dotnet/dotnet-docker)

Searching Database…

Что это?Это официальный репозиторий контейнерных образов .NET, поддерживаемый Microsoft; он предоставляет готовые Docker-образы для запуска .NET-приложений.
Это набор Docker-образов или сам SDK?Это коллекция Dockerfile и документации для официальных контейнерных образов .NET (SDK, runtime, ASP.NET runtime, runtime-deps, monitor, aspire-dashboard), а не сам .NET SDK.
Как запустить .NET-приложение в контейнере?Скачайте готовый Docker-образ .NET и запустите его напрямую, например образ с консольным примером или веб-примером на ASP.NET Core.
Нужно ли что-то ещё, кроме Docker, чтобы пользоваться этими образами?Достаточно установленного Docker; образы содержат всё необходимое для запуска .NET-приложений, а писать приложения можно на C# или F#.
Какой порт контейнер ASP.NET Core слушает по умолчанию?Начиная с .NET 8, ASP.NET Core-приложения в официальных образах по умолчанию слушают порт 8080, поэтому нужно правильно сопоставить порты хост:контейнер, иначе приложение будет недоступно.
Для каких платформ эти контейнерные образы?Сам .NET кроссплатформенный (Windows, macOS, Linux), а эти Docker-образы поддерживают контейнеры Windows и Linux, включая варианты distroless Azure Linux и Ubuntu Chiseled.
Что такое distroless-образ .NET?Минимизированный образ, содержащий только пакеты, нужные .NET, без shell и пакетного менеджера и с пользователем без root по умолчанию, что уменьшает поверхность атаки и размер.
Как часто эти образы обновляются с исправлениями безопасности?Обновления базовых образов запускают пересборку в течение 12 часов, критические CVE закрываются по мере появления исправлений, а раз в месяц, обычно во второй вторник, образы полностью пересобираются.
Есть ли превью-версии этих образов?Да, варианты nightly/preview существуют для образов SDK, ASP.NET runtime, runtime, runtime-deps, monitor и aspire-dashboard.
Есть ли также вариант для устаревшего .NET Framework?Да, dotnet/framework предоставляет образы .NET Framework, ASP.NET и WCF вместе с примерами — отдельно от кроссплатформенных образов .NET.
Creator
dotnet
Size
37 MB
Stars
4.9K
Updated
CommitOct 14
Age
10y
Commits · 90 Days