aspnet-docker/README.md

9.2 KiB

Supported Windows Server 2019 amd64 tags

docker pull mcr.microsoft.com/dotnet/framework/aspnet:4.7.2-windowsservercore-ltsc2019

docker pull mcr.microsoft. com/dotnet/framework/aspnet:3.5-windowsservercore-ltsc2019

Windows Server, version 1803 amd64 tags

docker pull mcr.microsoft.com/dotnet/framework/aspnet:4.7.2-windowsservercore-1803

docker pull mcr.microsoft.com/dotnet/framework/aspnet:3.5-windowsservercore-1803

Windows Server, version 1709 amd64 tags

docker pull mcr.microsoft.com/dotnet/framework/aspnet:4.7.2-windowsservercore-1709

docker pull mcr.microsoft.com/dotnet/framework/aspnet:4.7.1-windowsservercore-1709

4.7.1-windowsservercore-1709, 4.7.1 (4.7.1-windowsservercore-1709/runtime/Dockerfile)

docker pull mcr.microsoft.com/dotnet/framework/aspnet:3.5-windowsservercore-1709

3.5-windowsservercore-1709, 3.5 (3.5-windowsservercore-1709/runtime/Dockerfile)

Windows Server 2016 amd64 tags

docker pull mcr.microsoft.com/dotnet/framework/aspnet:4.7.2-windowsservercore-ltsc2016

4.7.2-windowsservercore-ltsc2016, 4.7.2, latest (4.7.2-windowsservercore-ltsc2016/runtime/Dockerfile)

docker pull mcr.microsoft.com/dotnet/framework/aspnet:4.7.1-windowsservercore-ltsc2016

4.7.1-windowsservercore-ltsc2016, 4.7.1 (4.7.1-windowsservercore-ltsc2016/runtime/Dockerfile)

docker pull mcr.microsoft.com/dotnet/framework/aspnet:4.7-windowsservercore-ltsc2016

4.7-windowsservercore-ltsc2016, 4.7 (4.7-windowsservercore-ltsc2016/runtime/Dockerfile)

docker pull mcr.microsoft.com/dotnet/framework/aspnet:4.6.2-windowsservercore-ltsc2016

4.6.2-windowsservercore-ltsc2016, 4.6.2 (4.6.2-windowsservercore-ltsc2016/runtime/Dockerfile)

docker pull mcr.microsoft.com/dotnet/framework/aspnet:3.5-windowsservercore-ltsc2016

3.5-windowsservercore-ltsc2016, 3.5 (3.5-windowsservercore-ltsc2016/runtime/Dockerfile)

Note: Multi-arch tags, such as 4.7.1, have been updated to use windowsservercore-1709 images if your host is Windows Server 1709 or higher or Windows 10 Fall Creators Update (Version 1709) or higher. You need Docker 17.10 or later to take advantage of these updated tags.

These images are updated via pull requests to the microsoft/aspnet-docker GitHub repo.

Downloads from Docker Hub Stars on Docker Hub

What is ASP.NET

ASP.NET is a high productivity framework for building Web Applications using Web Forms, MVC, Web API and SignalR.

This repository contains Dockerfile definitions for ASP.NET Docker images. These images use the IIS image as their base.

This image contains:

  • Windows Server Core as the base OS
  • IIS 10 as Web Server
  • .NET Framework (multiple versions available)
  • .NET Extensibility for IIS

How to use these Images

Copy 4.7\sample\Dockerfile to your app directory. You would then be able to build and run the site from the app directory.

$ docker build -t aspnet-site --build-arg site_root=/ .
$ docker run -d -p 8000:80 --name my-running-site aspnet-site

There is no need to specify an ENTRYPOINT in your Dockerfile since the microsoft/aspnet base image already includes an entrypoint application that monitors the status of the IIS World Wide Web Publishing Service (W3SVC).

Verify in the browser

With the current release, you can't use http://localhost to browse your site from the container host. This is because of a known behavior in WinNAT, and will be resolved in future. Until that is addressed, you need to use the IP address of the container.

Once the container starts, you'll need to finds its IP address so that you can connect to your running container from a browser. You use the docker inspect command to do that:

docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" my-running-site

You will see an output similar to this:

172.28.103.186

You can connect the running container using the IP address and configured port, http://172.28.103.186 in the example shown.

For a comprehensive tutorial on running an ASP.NET app in a container, check out the tutorial on the docs site.

Image variants

The microsoft/aspnet images come in different flavors, each designed for a specific use case.

4.7.2

This is the primary image. If you are unsure about what your needs are, you probably want to use this one.

This image is for ASP.NET applications built for the .NET Framework 4.0 and later versions. It is based on the dotnet-framework:4.7 image and includes .NET Framework Extensibility for IIS.

4.7.1, 4.7, 4.6.2

These images are for ASP.NET applications that need a specific .NET Framework version and have not been tested with .NET Framework 4.7.2. They are based on the corresponding dotnet-framework images and include .NET Framework Extensibility for IIS.

3.5

This image is for ASP.NET applications built for the .NET Framework 3.5. It is based on the dotnet-framework:3.5 image and includes .NET Framework Extensibility for IIS.

Related Repos

See the following related repos for other application types:

License

View license information for the software contained in this image.

Windows Container images are licensed per the Windows license:

MICROSOFT SOFTWARE SUPPLEMENTAL LICENSE TERMS

CONTAINER OS IMAGE

Microsoft Corporation (or based on where you live, one of its affiliates) (referenced as “us,” “we,” or “Microsoft”) licenses this Container OS Image supplement to you (“Supplement”). You are licensed to use this Supplement in conjunction with the underlying host operating system software (“Host Software”) solely to assist running the containers feature in the Host Software. The Host Software license terms apply to your use of the Supplement. You may not use it if you do not have a license for the Host Software. You may use this Supplement with each validly licensed copy of the Host Software.

Supported Docker versions

This image is officially supported on Docker version 1.12.2.

Please see the Docker installation documentation for details on how to upgrade your Docker daemon.

User Feedback

Issues

If you have any problems with or questions about this image, please contact us through a GitHub issue.

Documentation

You can read documentation for ASP.NET, including Docker usage in the .NET docs.

The docs are also open source on GitHub. Contributions are welcome!