Docker is a tool designed to help you throw the deployment process and it saves you from the configuration hassle by build images of your tools with the desired configurations.
those are just a snapshot of a system with the configurations of specific software which relies on the host OS kernel
for example node:alpine
is a docker image of alpine(Linux distro) with node installed on top of its version.
is a lightweight, standalone, executable package of software that has everything you need to run an application also we can tell that a container is a set of images configured to run our application