Terms
Container
This is like a computer or a server.
Ideally, someone creates an image. Then docker will load that image into memory to present a virtual computer. The image will have a readwrite layer which persists for the lifetime of the container.
When you remove the container, changes made to it are lost.
I believe the containers file system is inclusive to that container itself. So if you have 2 containers running in memory, and they both have a c:\temp - neither container will see the contents of the other.
Docker
A company, and a set of programs used to manage and run Docker Containers
Docker Hub
This is a web site which contains many predefined images. For example, you can download an image which sets up an IIS Server, another image to setup a SQL Server, or Postgres server.
Images
An Image, would be similar to a copy of a harddisk, that is on your computer when the computer is off.
When you start a docker container, it will get a copy of the image, load it into memory and then execute it as if this were another computer (a virtual computer).
You create images by downloading standard images. And then create a docker file which uses the standard image, and tune’s it for your needs.
You could say a document could contain several layers. Like one layer for the operating system, another layer for the database, maybe another layer for configuration files.
In the end it’s best to think of an image as a readonly object.
Lightweight
Compared to a Virtual Machine, A Docker Container is considered a lightweight object. The reason is I don’t think the operating system is in the Docker Container. This gives the container a smaller footprint. Another reason for the lightness is because it is likely tuned for one process. For example, a database server with one database, etc. As a result of this lightweightness characteristic, Docker containers tend to start up and shutdown faster.
Virtual Server
A virtual server is a computer, which allows you to install several other servers (also called Virtual Machines) on it.
Volumes
This is a folder in your operating system that maps to a location inside a docker container. When running a continer, use -v hostdirectory : containerPath.
This host directory should be accessible from a drive that has been checked on the Shared Drives section of the Shared Drives page within Docker Desktop. (10/3 I did not see Shared Drives - I think it should be on the home page.)