Docker – COPY Instruction

In Docker, there are two ways to copy a file, namely, ADD and COPY. Though there is a slight difference between them in regard to the scope of the functions, they more or less perform the same task. In this article, we will primarily focus on the COPY instruction of Docker. If you want to copy files and directories inside a Docker Container from your Local machine, you can use the COPY instruction inside your Dockerfile. The general form of a COPY instruction is:

Syntax: COPY <src-path> <destination-path>

In this article, we will discuss how to use the COPY Instruction to copy files and directories inside a Docker Container. To do so follow the below steps:

Step 1: Create a Directory to Copy

In this example, we will create a directory and a file which we will copy using the COPY command. Create a folder and inside it create a file called “dockerfile” which we will edit in the next step. Create another folder in the same directory where you have created the Dockerfile and a file inside it. We will copy this folder to our Docker Container. The final directory structure will be –

file to be copieddockerfile

Step 2: Edit the Dockerfile

After you have created the directory structure, edit the Dockerfile that we created in the previous step.



FROM ubuntu:latest
RUN apt-get -y update
COPY to-be-copied .

In the above Dockerfile, we have tried to pull the Ubuntu base image OS with the latest tag and run an update inside the Container. We have then included the COPY instruction to copy the directory created previously.

Step 3: Build the Docker Image

After creating the Dockerfile, we can now build the Docker Image using the Docker Build command.

sudo docker build -t sample-image .

docker build

Step 4: Verifying the Docker Image

After you have built the Docker Image, you can verify it by using the Docker Images command to list all the images in your system.

sudo docker images

docker images

Step 5: Running the Docker Container

After you have built the Docker Image with the COPY Instruction, you can now run the Docker container using the Docker RUN command.

sudo docker run -it sample-image bash

Copy command

Step 6: Verify the Copying of the Directory

You can now verify whether the directory has been copied or not by listing the directories inside the Container.

verifing the copy action

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.