The docker cp
command serves for copying files and folders between Docker container and a host machine.
It is possible to copy a file or folder from host to container as well as from container to host.
In the examples below i am coping the files but the syntax for copying folders is the same.
Cool Tip: How do i list ( running | stopped | all ) Docker containers! Read More →
Docker Cp Command
Find out a container’s name or ID using the docker ps
command:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 72ca2488b353 my_image X hours ago Up X hours my_container
Copy a file from host to container:
$ docker cp foo.txt 72ca2488b353:/foo.txt
Copy a file from Docker container to host:
$ docker cp 72ca2488b353:/foo.txt foo.txt
Thanks for the info, using this command, I am able to copy from container to my host
Thanks.
Good and practical info. This simple way as the example of the command was written is clearer than docker’s manual which one lacks clarity some times.
It’s g, Thank you, it helps me a lot!
This is helpful, however how do I then access this file once it is on the container. I am attempting to bulk insert into a mssql server, but seem to be inserting nothing.
Hi. Can I copy multiple files though?
How do u use a dynamic id ? what if u want to use a script to make the copy? u need to set the id every time because it changes..
You can use container_name instead of container_id for ex: docker cp foo.txt container_name:/foo.txt
Hi. Question: where would the foo.txt go after being copied from the docker container? What is it’s path?
docker cp 72ca2488b353:/foo.txt foo.txt
taking the command above as an example, it will be your current directory where you execute the command. Unless you specify the path . eg: docker cp 72ca2488b353:/foo.txt ~/Desktop/foo.txt
then it will be located under Desktop folder
You can access the file inside docker using docker exec -ti container_name sh command