A Docker image contains the code used to create a Docker container, such as creating a Nginx web server, or a mySQL server, or a home grown app, and the list goes on. In this way, an image is like a template used to create a container. An image is kind of like a virtual machine, but much more light weight, using significantly less storage a memory (containers are usually megabytes in size).
The docker cp command can be used to copy a file in a container to a directory on the host operating system, or to copy a file on the host operating system to a directory in the container.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d937372c09ab9 b939aa938add9913 "/docker-entrypoin..." 6 minutes ago Created foo
Copy a single file from container to host
In this example, the /usr/local/bar.txt file in the "foo" container is copied to /tmp on the host operating system (the Docker system).
docker cp foo:/usr/local/bar.txt /tmp
Copy a directory from container to host
In this example, every file and directory below /usr/local in the foo container will be copied to /tmp on the host operating system (the Docker system).
docker cp foo:/usr/local /tmp
Copy from host to container
In this example, the /tmp/bar.txt file on the host operating system (the Docker system) is copied to /usr/local in the "foo" container.
docker cp /tmp/bar.txt foo:/usr/local