Run the Docker Desktop
As a first step ensure that the Docker Desktop is up and running on your machine. This ensures that all the necessary background services are in started state.
We shall be using commandline to run our docker container, so you can close the Docker window after starting it.
Video Explanation
Please watch the following youtube video:
Locate the Working Directory in Dockerfile
Next let us locate the working directory for the docker image of your project. We will need this for mounting the volume.
Open your project in visual studio and open the Dockerfile.
Towards the end you will see WORKDIR mentioned. In most cases the working dir is app
in lower case.
// Dockerfile // somewhere near the end // one statement like this WORKDIR /app
Run the container
KEEP VISUAL STUDIO and IIS Server/Kestrel everything CLOSED because we will be using docker to run our image now!Open a command prompt and type the command -
// image is assumed to be of name hellodocker // see the previous tutorials where we created it docker run --rm --name mycontainer -v myvol2:/app -d -p 43190:80 hellodocker
This is the same command that we used in our previous tutorial, except for an additional parameter: v
.
This paramater instructs docker to create a volume/virtual disk of name myvol2
, and mount it to the working directory of your container.
Now hit the enter key to run this command!
Your app will start running in a docker container, and it will be available on port 43190.
Verify the app in the Browser
Open the browser to verify that your app is now running inside the browser.
Enter some data and see that everything is functioning. Try to add some data.
This time your data is being saved to the volume myvol2
!
Stop the Container
Next let us stop the container so that we can check if the data has been saved or not.
Open a command prompt and type the command -
docker stop mycontainer
Try to open the app again on the browser.
The app fails to open because the container has been removed.
Run the App Again
Open a command prompt and again type the command -
docker run --rm --name mycontainer -v myvol2:/app -d -p 43190:80 hellodocker
Open the app again in the browser.
The app opens and we verify that the data has persisted now.
Remove the Volume
Finally, let us remove the volume and clean the things up.
Run the command to remove your volume and perform the cleanup:
docker volume rm myvol2
This Blog Post/Article "(C# ASP.NET Core) How to use Docker Volumes to Persist Data" by Parveen is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.