There are situations where you want to copy a file from your machine to a running Docker container or vice versa. Especially in cases when the Docker container does not use a volume that is bound to your local file system. For these situations you can use one of the approaches described below.
Pipes are a fantastic way passing data from one process to another. The following example uses
cat to read the file content of the
missing_data.sql and hands it over to the running Docker container.
cat missing_data.sql | \ docker exec -i <your container name> \ sh -c 'cat > /missing_data.sql'
Once this process has been completed you will find the file inside the container at
Use the Docker Binary
Nevertheless copying can be achieved by using pipes, I recommend to use the
copy utility of the Docker binary. It is much easier to ready and simpler to write.
docker cp missing_data.sql <container-id>:/missing_data.sql
I hope this helped you exchanging files with Docker containers