Upload a file to a Docker container
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.
Use Pipes
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 /missing_data.sql
.
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