- ASP.NET Core 2 High Performance(Second Edition)
- James Singleton
- 271字
- 2021-07-08 09:39:08
Using ASP.NET Core 2 with Docker
Now that we've checked Docker is working and can run .NET Core, it's time for something a bit more complex. We're going to interactively log in to a container and create an ASP.NET Core 2 app inside.
Run the following command:
sudo docker run -it --rm microsoft/aspnetcore-build:2
Once the image is downloaded, you should get a slightly different command prompt. Let's be more ambitious and create a single page app using the React and Redux JavaScript libraries:
dotnet new reactredux -o AspNetCoreTwoDocker
Next we need to restore the JS packages from npm. Note that we haven't installed npm (or .NET Core); it has come included in the container image:
cd AspNetCoreTwoDocker
npm install
Let's run the app in the background again and download the home page. Note that the Kestrel web server is now running on the default HTTP port of 80, so we don't need to specify an alternative non-standard port number:
dotnet run &
wget localhost
This is shown in the following screenshot:

The Docker image doesn't contain a text editor, but we can still view the contents of the file with the cat command. We won't get any syntax highlighting, but we can clearly see that this is a React app, as our server rendered the initial state into the page (as div with id of react-app):
cat index.html
The React app HTML page source, displayed in the terminal using cat, is shown in the following screenshot:

You can again tidy up the dotnet process with kill and leave the Docker container to return to your host VM with the exit command.